我是c#编程的新手,你可能觉得它非常简单...... 我正在使用菜单栏(工具条)添加,更新,删除,取消和关闭按钮... 在添加按钮我有....
private void btn_Add_Click(object sender, EventArgs e)
{
NewSavebtn();
}
public void NewSavebtn()
{
if (btn_Add.Text == "&New")
{
btn_Add.Text = "&Save";
btn_Edit.Enabled = false;
btn_Delete.Enabled = false;
txtDetailName.Enabled = true;
TxtHeadName.Enabled = true;
UnLock();
}
else if (btn_Add.Text == "&Save")
{
save_data();
Lock();
btn_Add.Text = "&Add";
btn_Edit.Enabled = true;
btn_Delete.Enabled = true;
ClearAll();
txtDetailName.Enabled = false;
}
else
MessageBox.Show("cant save data");
}
#region Clear Lock Unlock
public void ClearAll()
{
foreach (Control ctl in this.Controls)
{
if (ctl is TextBox || ctl is ComboBox)
{
ctl.Text = "";
}
}
}
public void Lock()
{
foreach (Control ctl in this.Controls)
{
if (ctl is TextBox || ctl is ComboBox)
{
ctl.Enabled=false ;
}
}
}
public void UnLock()
{
foreach (Control ctl in this.Controls)
{
if (ctl is TextBox || ctl is ComboBox)
{
ctl.Enabled=true ;
}
}
}
#endregion
我想以近200多种形式添加相同的代码。 任何人都可以告诉我我想为它做些什么。 在c#中是否有像asp.net这样的用户控件或主控件,这样可以将公共代码放在一边并在必要时调用它们... 因为如果我把NewSavebtn()和其他方法放在不同的类中说class1并尝试从form1调用它... ...
class1 c1 =new class1(this);
c1.NewSavebtn(this);
它不起作用.... 事先提前......
答案 0 :(得分:0)
如果这是针对Windows窗体应用程序,那么您可以Create a User Control,如果您正在开发WPF应用程序,那么您可能会看到以下教程:How to Create a WPF User Control & Use It in a WPF Application ( C# )
答案 1 :(得分:0)
您可以在Windows窗体中创建用户控件,以便通过一百个表单使用。但是,我认为您的代码在维护方面不容易改变。您应该使用委托来处理事件。为了将来的改进,您可以使用委托Execute a delegate in the ui thread (using message pump)轻松定义结果。