[英]Access form control from another class in another file
我有2個.cs文件(A,B)。
在我的A.cs文件中,它屬於公共類A。我想利用公共類B中的控件(網格視圖),該類位於B.designer.cs中。 是否可以在不繼承A中的B類的情況下做到這一點?
我知道我可能需要一個屬性,並在類B中創建類A的新實例。到目前為止,這是我所擁有的。
這是在B.cs中。 我不確定在哪里/如何做財產。
這就是我定義gridview的方式:
公共DevExpress.XtraGrid.Views.Grid.GridView gridView
這就是我在其中編寫文本的方式:this.gridView1.OptionsFind.FindNullPrompt =“ hello”
private void treeView_NodeMouseClick(object sender, System.EventArgs e)
{
A gridview = new A();
A.gridview = "hello";
}
您在類B中需要一個A的實例。
您可以這樣獲得:
public class B
{
private A theA;
public B(A theA)
{
this.theA = theA;
}
private void treeView_NodeMouseClick(object sender, System.EventArgs e)
{
theA.textbox = "hello";
}
}
現在,當您創建類B的實例時,您將這樣編寫它。
B b = new b(new A());
private void treeView_NodeMouseClick(object sender, System.EventArgs e)
{
A gridview = new A();
A.gridview = "hello";
}
在這段代碼中
首先,您要創建一個新的A實例,稱為“ gridview”,然后使用
A.gridview =“你好”
嘗試訪問應該實際上是
gridview.gridview =“你好”;
其次,通過創建A的新實例並更改其字段“ gridview”的值(根據您的代碼,我認為它可能是文本框),它將對接口沒有任何影響,因為這不是您的A想參考。
相反,它可能應該是:在B類中,
Public void UpdateAGridview(A yourA)
{
yourA.gridview = "hello";
//side note: setting a string value to a gridview, is this correct?
}
在這里,您獲得了要與之交互的A的引用,因此A中的“ gridview”將是您要更新的那個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.