|
分類:[C#]
開発環境
OS: WindowsXP SP3
言語: VisualStudio2008 C#
Validateのコントロールが思うようにできなくて困っています。
namespace VD
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter) { this.ProcessTabKey(!e.Shift); e.Handled = true; }
}
private void textBox1_Validated(object sender, EventArgs e)
{
textBox1.Text = "textbox1";
}
private void textBox2_Validated(object sender, EventArgs e)
{
textBox1.Text = "textbox2";
}
private void textBox3_Validated(object sender, EventArgs e)
{
textBox1.Text = "textbox3";
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("button1");
}
private void button2_Click(object sender, EventArgs e)
{
MessageBox.Show("button2");
}
private void button3_Click(object sender, EventArgs e)
{
this.AutoValidate = AutoValidate.Disable;
MessageBox.Show("button3");
this.AutoValidate = AutoValidate.EnablePreventFocusChange;
}
private void button4_Click(object sender, EventArgs e)
{
this.AutoValidate = AutoValidate.Disable;
MessageBox.Show("button4");
this.AutoValidate = AutoValidate.EnablePreventFocusChange;
}
}
button3,4のcausesvalidate=falseはプロパティで設定してあります。
textbox1〜3までvalidateを設定しbutton1,2はvalidate実行 button3,4ではvaridateを実行しないようにしています。
textbox1→button1→textbox2→textbox3とクリックしていくと
textbox1に文字表示、メッセージボックス表示、textbox2に文字表示でいいのですが
textbox1→button3→textbox2→textbox3とクリックしていくと
textbox1に文字表示なし、メッセージボックス表示、textbox1に文字表示、textbox2に文字表示となってしまい
textbox1に文字表示なし、メッセージボックス表示、textbox2に文字表示となりません。
textbox1に文字表示なし、メッセージボックス表示、textbox2に文字表示の動きにするにはどうしたらできるでしょう?。
ご指導よろしくお願いいたします。
|