2013-05-09 256 views
0

即時通訊工作的代碼編輯器(winforms)和我只是想知道是否有可能從窗體調用一個特定的框到另一個?從另一種形式調用工具到另一種形式?

樣品此代碼集:上述

int line = 1 + richTextBox1.GetLineFromCharIndex(richTextBox1.GetFirstCharIndexOfCurrentLine()); 
int column = 1 + richTextBox1.SelectionStart - richTextBox1.GetFirstCharIndexOfCurrentLine(); 
label1.Text = "line: " + line.ToString() + ", column: " + column.ToString(); 

***碼是其中要求的行和列的計數在像在實際代碼編輯器的下部rightpart一個RichTextBox計時器內部。

現在我只是想知道是否可以調用顯示在主窗體上的標籤並顯示給其他窗體,但仍然可以運行。

像mainform中的richtextbox代碼和其他形式的代碼應該有連接到mainform的標籤代碼。

我的問題是否有可能從另一個表格 調用另一個工具函數?

希望你能幫助我,真的需要和非常感謝!

+0

我99%肯定這裏有一個重複的問題,但簡單的答案是使用一個事件模型,並訂閱該事件 – 2013-05-09 02:32:39

+0

@Shimmy它的WinForms先生,我包括在我的問題:/ – Elegiac 2013-05-09 02:36:58

回答

1

只要您有對該表單工具箱的引用,只需公開該Label/TextBox或任何想要通過公共屬性更改的內容並從您的上下文中進行設置即可。

public class ToolBox : ToolBoxBase 
{ 
    public CustomLabel 
    { 
     get 
     { 
     return label1.Text; 
     } 
     set 
     { 
     label1.Text = value; 
     } 
    } 
} 

private ToolBox toolbox; 
void ShowToolBox() 
{ 
    InitToolBox(); 
    toolbox.CustomLabel = "New label"; 
} 

因爲我甚至不確定問題涉及哪些技術,所以我添加了一個可憐的僞示例來幫助您實現這個想法。 InitToolBox方法初始化工具箱並顯示它,並將字段toolbox設置爲對其的引用。

如果其他表單異步調用標籤設置器。有關更多說明,請參閱this問題。

+0

而且從什麼你似乎在描述那裏有一個最簡單的參考方法,也是這兩種形式的一個很好的邏輯結構,其中一種形式是另一種形式的MDIParent。 – Adrian 2013-05-09 02:36:29

+0

怎麼樣?你能給出至少一個示例代碼嗎? – Elegiac 2013-05-09 02:36:30

+0

@Elegiac答案已更新。 – Shimmy 2013-05-09 02:42:33