0

我有一个 ToolStripButton 作为点击事件中的发件人。我需要能够将发件人类型转换为工具条按钮并将其标签属性检索为整数。我想,我在下面的代码中这样做。我的程序编译成功,但它引发了无效的类型转换运行时错误。

theTool := TMakerTool((sender as ToolStripButton).tag);

TMakerTool = public enum

theTool:TMakerTool

我看到标签属性是一个包含标签作为字符串的对象。

那么,我做错了什么?

谢谢你。

4

2 回答 2

2

一种Enum类型提供Parse 方法(也是从 v4 开始的 TryParse 方法)。

尽管我对 Delphi 不熟悉,但我认为您可以执行以下操作:

TMakerTool(Enum.Parse(typeof(TMakerTool), (sender as ToolStripButton).tag.ToString(), true));

参考链接: http ://theroadtodelphi.wordpress.com/2009/10/27/convert-string-to-enum-using-delphi-prism/

于 2011-11-23T16:33:42.543 回答
0

我尝试按照威利博士的学徒的回答,但没有奏效。但是,他确实帮助我更好地理解了它。

如果有人感兴趣,我可以通过执行以下操作来消除错误。

theTool := TMakerTool(int32.Parse((sender as ToolStripButton).tag.ToString));
于 2011-11-23T19:45:32.743 回答