winforms
基本的なコントロール
サーチ…
ボタン
ボタンは最も簡単なコントロールの1つであり、主にユーザーが望むときにコードを実行するために使用されます。
ここでは、ボタンをクリックしたときにメッセージボックスを表示する、とてもシンプルなケースがあります。フォームにボタンを追加し、コードでcmdShowMessage
という名前を付けてオブジェクトを識別し、ボタンのテキストを「メッセージを表示」に設定します。
ビジュアルデザイナーのボタンをダブルクリックするだけで、Visual Studioはclickイベントのコードを生成します。ここでMessageBoxのコードを追加するだけです。
private void cmdShowMessage_Click(object sender, EventArgs e)
{
MessageBox.Show("Hello world!");
}
今すぐプログラムを実行してボタンをクリックすると、次のメッセージが表示されます。
テキストボックス
テキストボックスを使用すると、ユーザーはプログラムにデータを入力できます。
フォームを修正し、テキストボックスを追加して、メッセージボックスにユーザーが望むメッセージを表示するようにします。今私たちのフォームは次のようになります:
ボタンのクリックイベントを変更して、テキストボックスのテキストを使用します。
private void cmdShowMessage_Click(object sender, EventArgs e)
{
string UserText = txtUserMessage.Text;
MessageBox.Show(UserText);
}
ご覧のとおり、Textboxの.Text
プロパティを使用しています。これは、texboxに含まれるテキストです。
プログラムを実行すると、テキストボックスに書き込むことができます。ボタンをクリックすると、私たちが書いたテキストがMessageBoxに表示されます:
コンボボックス
ComboBoxを使用すると、開発者が提供するさまざまなオプションの1つを選択できます。
フォームを修正してコンボボックスを追加して、メッセージボックスに私たちが提供するリストからユーザーが望むメッセージを表示するようにします。
フォームにコンボを追加した後、コンボにオプションのリストを追加します。これを行うには、 Items
プロパティを変更する必要があります:
これでclickイベントのコードを変更する必要があります:
private void cmdShowMessage_Click(object sender, EventArgs e)
{
string OptionText = cboSelectOption.SelectedItem.ToString();
MessageBox.Show(OptionText);
}
ご覧のとおり、 SelectedItem
プロパティを使用すると、選択したオプションのオブジェクトが含まれます。表示する文字列が必要であり、コンパイラはオブジェクトが文字列かどうかわからないので、 ToString()
メソッドを使用する必要があります。
プログラムを実行すると、好きなオプションを選択できるようになります。ボタンをクリックすると、メッセージボックスにそのオプションが表示されます:
ユーザーがコンボボックスからアイテムを選択したときに通知を受けるには、 SelectionChangeCommitted
イベントを使用します。 SelectedIndexChanged
イベントを使用することもできますが、これはコンボボックス内の選択項目をプログラムで変更するときにも発生します。
CheckBox
チェックボックスは、ユーザーが「あなたは大丈夫ですか?」というような珍しい質問に対して、ユーザーからboolean
値を取得できるようにするコントロールです。 。
check
プロパティが変更されるたびに発生するCheckedChanged
というイベントがあります。
CheckBoxには「Is Checked?」という質問があります。 。
このMessageBox
をCheckedChanged
イベントからCheckedChanged
、
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
bool IsChecked = checkBox1.Checked;
MessageBox.Show(IsChecked.ToString());
}
チェックボックスがチェックされている場合- > IsChecked
変数になりますtrue
。
CheckBoxがチェックされていない場合、 - > IsChecked
変数はfalse
になりfalse
。
リストボックス
Listbox
は、オブジェクトのコレクションを含むことができるコントロールです。 Listbox
はListbox
に似ていCombobox
が、 Combobox
ます。選択した項目のみがユーザーに表示されます。 Listbox
すべての項目がユーザーに表示されます。
ListBoxにアイテムを追加するには?
private void Form3_Load(object sender, EventArgs e)
{
string test = "Trial";
string test2 = "45";
int numberTest = 43;
decimal decimalTest = 130;
listBox1.Items.Add(test);
listBox1.Items.Add(test2);
listBox1.Items.Add(numberTest);
listBox1.Items.Add(decimalTest);
}
出力 ;
また、 datasources
を与えることもできdatasources
が、
private void Form3_Load(object sender, EventArgs e)
{
List<string> TestList = new List<string> { "test1", "test2", "test3", "44", "55" };
listBox1.DataSource = TestList;
}
出力;
private void Form3_Load(object sender, EventArgs e)
{
SqlConnection Connection = new SqlConnection("Server=serverName;Database=db;Trusted_Connection=True;"); //Connetion to MS-SQL(RDBMS)
Connection.Open(); //Connection open
SqlDataAdapter Adapter = new SqlDataAdapter("Select * From TestTable", Connection); // Get all records from TestTable.
DataTable DT = new DataTable();
Adapter.Fill(DT); // Fill records to DataTable.
listBox1.DataSource = DT; // DataTable is the datasource.
listBox1.ValueMember = "TestID";
listBox1.DisplayMember= "TestName";
}
適切な出力 。
外部SQLデータソースをリストボックスに与えるには、 ValueMember
とDisplayMember
が必要です。
そうでない場合には、このようになります、
役に立つイベント。
SelectedIndex_Changed;
データソースを与えるためのリストを定義する
private void Form3_Load(object sender, EventArgs e)
{
List<string> DataList = new List<string> {"test1" , "test2" , "test3" , "44" , "45" };
listBox1.DataSource = TestList;
}
フォームのデザインでListbox
を選択し、F4キーを押すか、ライトニングアイコンを右クリックします。
Visual Studioは、コードビハインドにlistBox1_SelectedIndexChanged
を生成します。
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
int Index = listBox1.SelectedIndex;
label1.Text = Index.ToString();
}
SelectedIndex_Changed
結果です。 (下のラベルには、選択した各項目のインデックスが表示されます)
SelectedValue_Changed; (データソースは上部と同じで、SelectedIndex_Changedのようにこのイベントを生成できます)
private void listBox1_SelectedValueChanged(object sender, EventArgs e)
{
label1.Text = listBox1.SelectedValue.ToString();
}
出力 ;
NumericUpDown
NumericUpDownは、TextBoxのように見えるコントロールです。このコントロールでは、範囲から数値を表示/選択することができます。上矢印と下矢印はテキストボックスの値を更新しています。
コントロールは次のように見えます。
Form_Load
範囲で設定することができます。
private void Form3_Load(object sender, EventArgs e)
{
numericUpDown1.Maximum = 10;
numericUpDown1.Minimum = -10;
}
出力;
UpDownAlignは矢印の位置を設定します。
private void Form3_Load(object sender, EventArgs e)
{
numericUpDown1.UpDownAlign = LeftRightAlignment.Left;
}
出力;
UpButton()
メソッドは、コントロールの数を増やします。 (どこからでも呼び出すことができます。私はそれを呼び出すためにbutton
を使いました。)
private void button1_Click(object sender, EventArgs e)
{
numericUpDown1.UpButton();
}
**出力
DownButton()
メソッドは、コントロールの番号を減らします。 (どこからでも呼び出すことができます。私はもう一度呼び出すためにbutton
を使いました。)
private void button2_Click(object sender, EventArgs e)
{
numericUpDown1.DownButton();
}
出力;
役に立つイベント
ValueChanged;
このイベントは、上矢印または下矢印がクリックされたときに機能します。
private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
decimal result = numericUpDown1.Value; // it will get the current value
if (result == numericUpDown1.Maximum) // if value equals Maximum value that we set in Form_Load.
{
label1.Text = result.ToString() + " MAX!"; // it will add "MAX" at the end of the label
}
else if (result == numericUpDown1.Minimum) // if value equals Minimum value that we set in Form_Load.
{
label1.Text = result.ToString() + " MIN!"; // it will add "MIN" at the end of the label
}
else
{
label1.Text = result.ToString(); // If Not Max or Min, it will show only the number.
}
}
出力 ;