前提・実現したいこと
開発環境はVisualStudio2017、言語はC#でWindowsFormアプリを開発しているのですが
DataGridView上の複数のカラムにそれぞれユーザコントロールを追加した状態で
それらのユーザコントロールをすべて削除する処理を作成したいと思っております
しかし、追加したものをそのまま削除するとうまく削除出来ず、一部のユーザコントロールが必ず画面上に残ってしまう状態となっております
なぜでしょうか?原因がわからず悩んでいます
以下に該当のソースを記載いたしますのでどなたか教えてください
該当のソースコード
C#
1 2 public partial class Form1 : Form 3 { 4 public Form1() 5 { 6 InitializeComponent(); 7 8 //①(1行×2列)の空データを作成してdataGridViewに格納 9 DataTable dt = new DataTable(); 10 dt.Columns.AddRange(new DataColumn[] { 11 new DataColumn(""), 12 new DataColumn(""), 13 }); 14 dt.Rows.Add(new object[] { "", "" }); 15 this.dataGridView1.DataSource = dt; 16 17 } 18 19 private void Form1_Load(object sender, EventArgs e) 20 { 21 //②ユーザコントロール1をdataGridViewに追加 22 UserControl1 userControl1 = new UserControl1(); 23 this.dataGridView1.Controls.Add(userControl1); 24 userControl1.Location = this.dataGridView1.GetCellDisplayRectangle(0, 0, true).Location; 25 //③ユーザコントロール2をdataGridViewに追加 26 UserControl1 userControl2 = new UserControl1(); 27 this.dataGridView1.Controls.Add(userControl2); 28 userControl2.Location = this.dataGridView1.GetCellDisplayRectangle(1, 0, true).Location; 29 //④追加したユーザコントロールを削除 → 何故かユーザコントロール2だけが残る 30 dataGridView1.Controls.Clear(); 31 } 32 }
試したこと
以下の処理を2回実行するとユーザコントロールが2つとも削除されることが確認できました(何故かわかりませんが)
なお、ユーザコントロールの数を増やして再度試してみると2回では全部消すことができませんでした・・・。
dataGridView1.Controls.Clear();
以上ですどなたかわかる方教えてください
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/22 15:07