|
> ■No15835 (επιστημη さん) に返信 >>>>> 複数のcheckBoxにチェックを入れ、button(実行ボタン)を押すとチェックを入れた複数の >>>>>checkBoxのイベントが発生するようにするにはどうすればいいんだろう・・・ > >>まったくできないです・・・ >> >>なぜ「チェックを入れた複数のcheckBoxのイベントを発生」させたいのですか? >> >>void checkBox1がチェックされた() { >> あれをする(); >>} >> >>void checkBox2がチェックされた() { >> これをする(); >>} >> >>void 実行ボタンが押された() { >> if ( checkBox1がチェックされてる ) あれをする(); >> if ( checkBox2がチェックされてる ) これをする(); >>} >> >>ではダメな理由を教えてください。 >> > > これやっとできましたfrom1にcheckbox2つとテキストbox1つとボタンを貼り付けました > コード > using System; > using System.Collections.Generic; > using System.ComponentModel; > using System.Data; > using System.Drawing; > using System.Linq; > using System.Text; > using System.Windows.Forms; > > namespace WindowsFormsApplication2 > { > public partial class Form1 : Form > { > public Form1() > { > InitializeComponent(); > } > > private void button1_Click(object sender, EventArgs e) > { > if (checkBox1.CheckState == CheckState.Checked) > this.textBox1.Text = "表示したい文字1"; > if (checkBox2.CheckState == CheckState.Checked) > this.textBox1.Text = "表示したい文字2"; > } > } > } > > テキストボックスに表示されたやつをcheckBoxのチェックをはずしボタンを押すと消えるようにするにはどうすればいいですか?
変更したコード namespace WindowsFormsApplication2 { public partial class Form1 : Form { public Form1() { InitializeComponent(); }
private void button1_Click(object sender, EventArgs e) { if (checkBox1.CheckState == CheckState.Checked) this.textBox1.Text = "表示したい文字1"; else this.textBox1.Text = ""; if (checkBox2.CheckState == CheckState.Checked) this.textBox1.Text = "表示したい文字2"; else this.textBox1.Text = ""; } } } ------------------------------------------------------------------- if (checkBox1.CheckState == CheckState.Checked) this.textBox1.Text = "表示したい文字1"; の下の行に else this.textBox1.Text = ""; を追加してデバッグなしで開始したらチェックボックス1のチェックがはずされてるときにボタンを押すと チェックボックス1のチェックをいれてボタンを押したときテキストボックスに表示されたテキストを消すことができました。 しかし if (checkBox1.CheckState == CheckState.Checked) this.textBox1.Text = "表示したい文字1"; else this.textBox1.Text = ""; if (checkBox2.CheckState == CheckState.Checked) this.textBox1.Text = "表示したい文字2"; else this.textBox1.Text = ""; と書くと チェックボックス1のチェックをいれてボタンを押してもテキストボックスに表示されず チェックボックス2のチェックをいれてボタンを押すとテキストボックスに表示されます チェックボックス1と2どちらでもチェックをはずしてボタンを押すとチェックボックス2の チェックをいれてボタンを押したときテキストボックスに表示されたテキストを消すことができました なぜですか?原因をおしえてください
|