質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Q&A

解決済

2回答

2205閲覧

デザインフォームを使用せずにチェックボックスなどを水平に整列させる方法

shoko_love

総合スコア12

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

0グッド

0クリップ

投稿2019/04/04 01:51

編集2019/04/04 01:53

前提・実現したいこと

初投稿、プログラミング初心者です。

【環境】
・windows 10
・Visual Studio 2015
【言語】
・C#

以下のソースコードで作成したチェックボックスとラベルを水平方向に整列させるにはどのようなコードを書いたらいいのでしょうか?
現在は、【Location】を使用して座標で水平方向に見えるように場所を設定しているので、座標を使用せずに水平方向に配置したいと思っています。

※現在勉強の為、デザインフォームを使用せずにプログラミングしているのでデザインフォームを使用しないやり方で教えていただけると助かります。

宜しく御願い致します。

該当のソースコード

【C#】

private void Form1_Load(object sender, EventArgs e) { //チェックボックスを作成 var chk = new CheckBox(); chk.Location = new Point(10, 10); chk.Text = "aaa"; this.Controls.Add(chk); //ラベルを作成 var colorbox = new Label(); colorbox.Location = new Point(115, 15); colorbox.BackColor = Color.FromArgb(0x00, 0x00, 0xFF); colorbox.Width = 35; colorbox.Height = 13; this.Controls.Add(colorbox); }

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

TableLayoutPanelを利用すると割と簡単です。
TableLayoutPanelに動的にコントロールを追加する

C#

1public Form1() 2{ 3 InitializeComponent(); 4 5 var panel = new TableLayoutPanel 6 { 7 Dock = DockStyle.Fill, 8 ColumnCount = 2, 9 RowCount = 10 10 }; 11 12 this.Controls.Add(panel); 13 14 panel.Controls.Add(new CheckBox { Checked = true, Text = "hoge" }, 0, 0); 15 16}

投稿2019/04/04 01:58

編集2019/04/04 04:55
hihijiji

総合スコア4150

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shoko_love

2019/04/04 04:45

回答ありがとうございます! 質問が続いて申し訳ないのですが、リンク先の方法を使うには、デザインフォームにTableLayoutPanelを置かないといけないのでしょうか?
hihijiji

2019/04/04 04:56

コード追加しました。
shoko_love

2019/04/04 05:22

素早い回答ありがとうございます。 解決しました。
guest

0

C#

1for (i = 0; i < 10; i++) 2{ 3 colorbox(i) = new Label(); 4 colorbox(i).Location = new Point(100 * i,10); 5}

みたいな感じでループして、そのカウンタから座標を計算するとか

投稿2019/04/04 02:07

YAmaGNZ

総合スコア10258

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shoko_love

2019/04/04 05:23

解決しました。 回答ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問