Microsoftゲームのバージョンを作成しています。ボタンとラベルをプログラムで作成し、ボタン用に2つのハンドラを、ラベル用に1つのハンドラを次のように追加します。フォームをクリックすると、 '<Namespace.FormName>'タイプのオブジェクトを 'System.Windows.Forms.Button'にキャストできません。
AddHandler Newbtn.MouseDown, AddressOf Button_MouseDown
AddHandler Newbtn.MouseUp, AddressOf Button_MouseUp
AddHandler Newlbl.MouseDown, AddressOf Label_MouseDown
、私は3つの手順があります:私は「InvalidCastExceptionが」得るとき、私は、フォーム自体のボタンのグリッドの外側をクリックするまで
Private Sub Button_MouseUp(sender As Button, e As MouseEventArgs) Handles Me.MouseUp
Private Sub Button_MouseDown(sender As Button, e As MouseEventArgs) Handles Me.MouseDown
Private Sub Label_MouseDown(sender As Label, e As MouseEventArgs) Handles Me.MouseClick
をすべてが正常に動作します。 VS2015はブレーク状態になります。先頭に「
"あなたのアプリケーションはブレーク状態になりましたが、すべてのスレッドが外部コード(通常はシステムコードまたはフレームワークコード)を実行していたために表示するコードがありません。
追加情報: 'Mines.MineSweeperPJS'タイプのオブジェクトを 'System.Windows.Forms.Button'とタイプすることができません。
Minesはネームスペースです。 MineSweeperPJSはフォームです。
この問題の原因に関するご意見をお待ちしております。
感謝する
sender
パラメータを復元することができます!私はハンドルを取り外し、それはすべて完璧に動作します。私のコーディング教育は、ほとんど私が私が知らない事を検索するグーグルから来ている:)したがって、プロシージャのヘッダーはここからコピーされた可能性が最も高いです。私は本当にこのようなサイトと参加者の助けに感謝します。ピート。 – Pete実際、それについて考えると、あなたは正しいです。送信者をボタンとラベルに変更しました。私が試して働かそうとする試みの一つです。私もハンドルの多くのバリエーションを試したが、その後、削除してみたことはありません:) – Pete