0

Windows フォーム アプリケーションに表示された 100 個の連続したボタンとチェックボックス、およびいくつかの数値が保存されているデータベースがあります。

私の目的は、データベースに保存されている数に応じてボタンとチェックボックスを非表示にすることです。たとえば、私のデータベースには、2、4、9、および 10 の 4 つの数字があります。

これが私が試したことです:

SqlCeCommand cmnd = con.CreateCommand();
cmnd.CommandText = "SELECT * FROM register_db WHERE semester = @s AND department = @d AND course = @c";
cmnd.Parameters.AddWithValue("@s", semester);
cmnd.Parameters.AddWithValue("@d", department);
cmnd.Parameters.AddWithValue("@c", course);

SqlCeDataReader rd = cmnd.ExecuteReader();

while (rd.Read())
{
    string number = rd[0];
    button[number].hide();
    checkbox[number].hide();
    // these are the main things that I didn't know how to do                   
}
4

2 に答える 2

1

コントロールにそのような名前が付けられていると仮定すると、フォームのControlsコレクションを介してコントロールにアクセスできます。

string number = rd[0];
this.Controls["button" + number].Hide();
this.Controls["checkbox" + number].Hide();

しかし、実際にはそれらを別のリストに入れ、おそらくStackedPanel、または のパネルにグループ化する必要がありCheckedListBoxます。

于 2013-09-22T15:17:13.327 に答える