簡體   English   中英

如何在用戶控制中實現界面功能

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM