【发布时间】:2013-09-20 04:14:06
【问题描述】:
我正在尝试在 VB 和 C# 中禁用 Form1。
来自 Created 子表单、按钮单击或 w/e 的示例
-
VB.NET
Me.Focus() Me.Enabled = True Form1.Enabled = False -
C#
//This is my attempt at a functional translation //if (_form1 == null) // _form1 = new Form1(); // _form1.Enabled = False; //This is a literal translation // This Code will not disable form1 this.Focus(); this.Enabled = true; Form1.Enabled = false;
C# 代码不会像 VB.NET 代码那样从 form2 禁用 Form1。
从这些 C# 参考资料中,我收集到上面注释的代码可以工作(我知道如何在 VB.net 中使用它):Ref1,Ref2,Ref3
我想知道的是
- 为什么如此不同,为什么我不能像在 VB 中那样访问 Form1(来自 Form2)?
- 还需要哪些其他步骤才能完全访问 Form1?
【问题讨论】:
-
不同之处在于你的代码做不同的事情。如果您想要相同的行为,则让代码对两个版本执行相同的操作。
-
如果键入
this.Focus();this.Enabled = true;Form1.Enabled = false;将无法访问表单,该怎么办 -
你没有做对,这就是为什么你认为 C# 的控制力不如 VB。
-
你确定你不只是想要像
form2.ShowDialog();这样的东西吗? -
@DavidHeffernan 我清理了一下。在完成所有 OP 的编辑之后,除了基本的语法/格式之外,我没有看到太多需要修复的内容。基本问题是合理的。