C# 如何在用户控件中实现接口功能
嗨,我正在创建一个测试应用程序,它有一个带有按钮的用户控件,该按钮将在表单中引用 可以绑定接口吗C# 如何在用户控件中实现接口功能,c#,winforms,user-controls,C#,Winforms,User Controls,嗨,我正在创建一个测试应用程序,它有一个带有按钮的用户控件,该按钮将在表单中引用 可以绑定接口吗 public interface ICRUD { void Test(); } 要查看用户控件按钮1,请单击事件 public partial class UserControl1 : UserControl { public UserControl1() { InitializeComponent(); }
public interface ICRUD
{
void Test();
}
要查看用户控件按钮1,请单击事件
public partial class UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//CALL ICRUD.Test() execute when click on form1 and then show I am Clicked
}
}
所以
我只需要实现form1的接口函数
表格1:
using System.Windows.Forms;
namespace TEST
{
public partial class Form1 : Form , ICRUD
{
public Form1()
{
InitializeComponent();
}
public void Test()
{
MessageBox.Show("I am Clicked");
}
}
}
谢谢你的关心。我觉得这不合适。可能不是
表单
应该实现这个接口。更重要的是,界面没有带来任何东西
private void button1_Click(object sender, EventArgs e)
{
for(var parent = this.Parent; parent != null; parent = parent.Parent)
{
var crud = parent as ICRUD;
if (crud != null)
{
crud.Test();
break;
}
}
}
但如果您确实想这样做,您可以访问,将其转换到您的接口,然后调用该方法:
private void button1_Click(object sender, EventArgs e)
{
var crud = (ICrud)ParentForm;
crud.Test();
}
此外,.Net中的惯例是编写与其他单词相同的缩写(至少是长缩写),因此您应该命名您的接口
ICrud
您计划删除并重新询问同一问题多少次?您可以在用户控件中拥有ICrud类型的属性,并从表单中设置此属性。@M.Babcock谢谢您的常见问题解答。这是我的最后一个问题,先生。我附上了样本图片,使我的问题更加清晰:)请,以后。你没有太多的代表,系统会自动锁定代表性低的帐户和大量已删除的问题。