0

クリック イベント内の送信者として ToolStripButton があります。送信者を Toolstripbutton として型キャストし、そのタグ プロパティを整数として取得できるようにする必要があります。私は、次のコードでそれを行っていると思います。プログラムは正常にコンパイルされますが、無効な型キャスト実行時エラーが発生します。

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

TMakerTool = public enum

theTool:TMakerTool

タグ プロパティは、タグを文字列として含むオブジェクトであることがわかります。

それで、私は何を間違っていますか?

ありがとうございました。

4

2 に答える 2

2

Parse メソッドを提供するEnumがあります( 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

Dr. Wily's Apprentice の回答に従おうとしましたが、うまくいきませんでした。しかし、彼は私がそれをよりよく理解するのを助けてくれました.

興味のある方は、次のようにしてエラーを解消することができました。

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