2017-11-10 75 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你想要的哪一个实例!

希望这会有所帮助!

相关问题