[英]How to Implement Interface Functions in User Control
嗨,我正在創建具有用戶控件和按鈕的測試應用程序,該按鈕將在表單中被引用。
是否可以綁定接口
public interface ICRUD
{
void Test();
}
用戶控制button1單擊事件
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;
}
}
}
這對我來說似乎不對。 實現此接口的可能不是Form
。 更重要的是,該界面在這里沒有帶來任何好處。
但是,如果您確實想這樣做,則可以訪問ParentForm
屬性 ,將其ParentForm
為接口,然后調用該方法:
private void button1_Click(object sender, EventArgs e)
{
var crud = (ICrud)ParentForm;
crud.Test();
}
此外,.Net中的約定是寫縮寫詞(至少是長縮寫詞)與其他單詞相同,因此您應該將接口ICrud
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.