2017-11-10 77 views
0

我有一個文本框textBoxQuery,窗口QueryWindow如何在另一個窗口中讀取文本框的文本

我需要在另一個窗口中訪問textBoxQueryTextMainWindow

我在QueryWindow以下訪問:

public string QueryString 
{ 
    get { return textBoxQuery.Text; } 
    set { textBoxQuery.Text = value; } 
} 

我試圖在MainWindow使用它:

cmdLine += QueryString; 

不過,我拋出一個CS0120錯誤。 「非靜態字段,方法或屬性需要對象引用。」

我也試圖實現以下方法QueryWindow

public string queryString() 
{ 
    return textBoxQuery.Text; 
} 

然後使用MainWindow如下:

cmdLine += QueryWindow.queryString(); 

但沒有上述的工作。

我已經通過Google進行了搜索,但沒有找到任何解決方案似乎工作。從另一個窗口/類訪問控件屬性的正確方法是什麼?

+1

你錯過了面向對象編程的巨大課程。我會首先閱讀一本書。 – Steve

回答

0

哦! 評估者用於訪問類型爲QueryWindow的類(實例)! 基本上,你可以做這個創造了一堆的查詢窗口(每個將自己的實例):

QueryWindow myQueryWindow1 = new QueryWindow(); 
myQueryWindow1.show() 
QueryWindow myQueryWindow2 = new QueryWindow(); 
myQueryWindow2.show() 
// Note, the shows are only needed to make instances visible to the user. 

因爲只要你有參考myQueryWindow1myQueryWindow2,您可以使用acessor獲得在實例的狀態:

string myString = myQueryWindow1.queryString(); 

所以QueryWindow.queryString()是行不通的,因爲沒有辦法讓程序告訴QueryWindow你想要的哪一個實例!

希望這會有所幫助!

相關問題