嗨,我想简化我的CRUD按钮在我的基础形式。为此,我会认为将所有这些转换为自定义控件是最佳实践。简化crud按钮
我提到了Rocket框架,这就是他写的如下。他创建了一个自定义控件,其中包含CRUD按钮以及搜索按钮,并且loadAll按钮在同一行中对齐。然后,当我们需要某个特定的按钮时,我们可以像获取网站图像那样获取该按钮的位置,以便将所有图像变为1图像。这听起来不错。
问题:
1)如何将这个自定义控件按钮应用到我的GUI窗体?
2)如何简化我的CRUD按钮的确认消息和提示结果消息给用户?在save()事件后按下保存按钮和"This record is saved successfully/failed"
,我觉得在我所有的crud按钮上多次写"Are you sure to save/ delete"
是多余的。无论如何,我可以通过将其放到基于表单的CRUD自定义控件来简化此操作?例如,当用户按下保存按钮时,它将运行基于表单的确认消息,并且它将继续运行数据模型上的Save()事件并返回到基础表单以获得结果消息“成功保存”。
public partial class AdminController : UserControl
{
public event EventHandler AddUpdateClick;
public event EventHandler DeleteClick;
public event EventHandler CreateNewClick;
public event EventHandler RefreshClick;
public event EventHandler FilterClick;
public event EventHandler LoadAllClick;
public AdminController()
{
InitializeComponent();
}
private void buttonDelete_Click(object sender, EventArgs e)
{
if (DeleteClick != null)
DeleteClick(sender, e);
}
private void buttonAddUpdate_Click(object sender, EventArgs e)
{
if (AddUpdateClick != null)
AddUpdateClick(sender, e);
}
private void buttonCreateNew_Click(object sender, EventArgs e)
{
if (CreateNewClick != null)
CreateNewClick(sender, e);
}
private void buttonLoadAll_Click(object sender, EventArgs e)
{
if (LoadAllClick != null)
LoadAllClick(sender, e);
}
private void buttonFilter_Click(object sender, EventArgs e)
{
if (FilterClick != null)
FilterClick(sender, e);
}
private void buttonRefresh_Click(object sender, EventArgs e)
{
if (RefreshClick != null)
RefreshClick(sender, e);
}
}
请指点
嗨,对不起,迟交回复。我试过你的代码,但是'if(adminControllerEventArgs.Success)'没有成功。我更改为公共静态布尔成功;它的工作原理。至于你在'e.Success = false'上说了什么,你是否意味着我必须把它放到它返回的每个函数都失败了? – VeecoTech 2011-04-19 07:53:42
嗨,我不能够建立后,我添加了你的代码。 DeleteClick(sender,e);'有一些无效的争论。我认为这是由于'公共委托void AdminControllerEvent(object sender,AdminControllerEventArgs e); “你能帮忙吗? – VeecoTech 2011-04-22 05:51:16
我试图改变私人无效btnDelete_Click(对象发件人,EventArgs e)成为'私人无效btnDelete_Click(对象发件人,AdminControllerEventArgs e)',但这给'错误上this.btnDelete.Click + =新的System.EventHandler(这个。btnDelete_Click);'“错误没有重载‘btnDelete_Click’匹配委托‘System.EventHandler’” – VeecoTech 2011-04-22 05:54:29