我把这个问题归结为一个非常简单的程序:
public Form1()
{
InitializeComponent();
TextBox tb1;
tb1 = textBox1; // this line is OK
tb1 = this.textBox1; // this line is OK
tb1 = Form1.textBox1; // this line generates error message
}
如果将鼠标悬停在“textBox1”、“this.textBox1”和“Form1.textBox1”上,工具提示在所有情况下都会显示“TextBox Form1.textBox1”。
(有关显示工具提示的屏幕转储,请参见 www.firish.com/tb1.jpg 和 www.firish.com/tb2.jpg)
我在办公室里转了一圈,但这里没有人能真正解释为什么第三个例子没有编译,但除了“嗯哼”、“嗯……”和几个耸肩之外没有得到什么。