这个 VB 计时器如何在没有声明的情况下工作?



我正在努力将 VB.NET 应用程序转换为C#.NET(我以前从未使用过这两个应用程序,尽管我知道C++(。我大部分工作,但有一件事让我难倒。VB 中有一个函数是

Private Sub timerReadCommands_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles timerReadCommands.Tick

timerReadCommands没有在任何地方宣布。没有那个叫的按钮,没有那个叫那个的变量,Visual Studio 说这个方法的引用为零,我什至尝试检查另一个文件,看看它是否以某种方式在那里声明。 此 VB 应用程序(和方法(按预期工作,但在 C# 版本中不起作用。我想它必须在某个地方声明,但我只是找不到声明。在 C# 应用程序中,我尝试了

Timer timerReadCommands = new Timer();

来声明它,这消除了未声明的变量错误,但该方法永远不会运行。

我尝试在谷歌上搜索一下 VB 是如何工作的,以便尝试在 C# 中模仿它,但我只从计时器不起作用的人那里得到结果。我需要知道为什么我的或者,我需要知道如何使我的 C# 工作。

谢谢!

创建计时器的 C# 代码缺少 VB 中的以下摘录:

Handles timerReadCommands.Tick

C# 不支持此功能,因此需要使用第二行 C# 代码添加处理程序,通常在调用InitializeComponent()附近的某个位置:

timerReadCommands.Click += new EventHandler(timerReadCommands_Tick);

此外,该计时器必须在VB 项目中的某个位置声明,否则Handles子句将无法编译。如果可以在 Visual Studio 中加载 VB 项目,则应该能够右键单击Handles子句中的timerReadCommands文本,然后从上下文菜单中选择">转到定义";这将向您准确显示计时器的声明位置...可能是一个formname.designer.vb文件。

设计器文件可供Visual Studio使用和管理。它们的存在是为了将表单设计者创建的代码与您自己的代码分开,因此表单设计者不会覆盖或更改您想要保留的内容。不应更改设计器文件中的任何内容。相反,您可以通过从工具箱拖动到窗体并为其指定相同的名称来创建此计时器。

相关内容

最新更新