mehdi_csharp
سه شنبه 28 دی 1389, 21:34 عصر
در این کد وقتی روی ok کلیک شود this.Control_Validating(control, cancelEventArgs);
فراخوانی میشه که پارامتر ارسالی اش یک کنترل است چگونه sender در کد ( sender is textbox)
به عنوان یک instance شناسایی میشود در صورتی که در یک کد مثل
TextBox f = new TextBox();
Control g = (Control)f;
TextBox w=g;
جواب نمیده؟
\\agar dar ebteda ok click shavad.
private void OK_Click(object sender, EventArgs e)
{
Control[] controls = new Control[] { this.Code, this.FirstName, this.LastName, this.Email, this.Telephone, this.Country, this.Address };
CancelEventArgs cancelEventArgs = new CancelEventArgs() { Cancel = false };
foreach (Control control in controls)
{
control.Focus();
this.Control_Validating(control, cancelEventArgs);
if (cancelEventArgs.Cancel)
return;
}
}
private void Control_Validating(object sender, CancelEventArgs e)
{
this.ErrorProvider.Clear();
if (sender is TextBox)
{
TextBox textBox = (TextBox)sender;
if (textBox.Name == "Email")
{
if (IsEmail(textBox.Text))
{
e.Cancel = false;
return;
}
}
}
فراخوانی میشه که پارامتر ارسالی اش یک کنترل است چگونه sender در کد ( sender is textbox)
به عنوان یک instance شناسایی میشود در صورتی که در یک کد مثل
TextBox f = new TextBox();
Control g = (Control)f;
TextBox w=g;
جواب نمیده؟
\\agar dar ebteda ok click shavad.
private void OK_Click(object sender, EventArgs e)
{
Control[] controls = new Control[] { this.Code, this.FirstName, this.LastName, this.Email, this.Telephone, this.Country, this.Address };
CancelEventArgs cancelEventArgs = new CancelEventArgs() { Cancel = false };
foreach (Control control in controls)
{
control.Focus();
this.Control_Validating(control, cancelEventArgs);
if (cancelEventArgs.Cancel)
return;
}
}
private void Control_Validating(object sender, CancelEventArgs e)
{
this.ErrorProvider.Clear();
if (sender is TextBox)
{
TextBox textBox = (TextBox)sender;
if (textBox.Name == "Email")
{
if (IsEmail(textBox.Text))
{
e.Cancel = false;
return;
}
}
}