[VB.net]TextBoxで、マウスクリック(1回目)だけ、内容を全選択させる

投稿日:

結構前に書いた記事

でC#版の記事を書いて満足してたんですが、今度はVB.netでもやる必要が出てきたのでメモ。

細かい内容はC#版の記事を見てもらうとして。

今回はVB.netでの記述方法について書きます。

結論

試行錯誤とかそんな御託は置いといて結論だけ知りたいんじゃっていうね。

で、結論としては、

protected override void OnEnter(System.EventArgs e)
{
    //全選択
    this.BeginInvoke(new MethodInvoker(AddressOf Me.SelectAll))
}

こう書けばエラー出無くなったよって話。

エラーになる

protected override void OnEnter(System.EventArgs e)
{
    //全選択
    this.BeginInvoke(new MethodInvoker(() => this.SelectAll()));
}

同じように記述するとですね、当然っちゃ当然なんですが、エラーになります。

「デリゲート ‘MethodInvoker’ には、コンストラクターへの唯一の引数として ‘AddressOf’ 式またはラムダ式が必要です。」

とまぁ、こんなエラーが出て悩むわけです。

ぶっちゃけ、AddressOfってなに?ラムダ式ならどうすりゃええん?

となる訳です。

まとめ

纏めもクソも無いんだけど、両方の記述方法を知っておいて損はないので。

結局、1時間ほど調べたけど、具体的に書いてくれてるページを見つけられなかったから色々試してたらなんかできたって感じ(駄目なパターンw

VB.net

protected override void OnEnter(System.EventArgs e)
{
    //全選択
    this.BeginInvoke(new MethodInvoker(AddressOf Me.SelectAll))
}

C#

protected override void OnEnter(System.EventArgs e)
{
    //全選択
    this.BeginInvoke(new MethodInvoker(() => this.SelectAll()));
}

それぞれこういう風に書こうね。







-開発メモ


関連記事

BIOSパスワードの設定と解除方法

会社のPCでBIOSパスワードを設定してる人も多いかもしれない。 今回はそんなお話。 とあるPCを別の人に貸与することになって、設定とかが終わったんだけど、OSのインストール直後に渡されたみたいで、W …

なぜ、エラーが発生する? VirtualBoxでのUbuntu Linuxの起動に再チャレンジ。

前回、会社で遊べる勉強できる環境としてUbuntu Linuxを導入しようと画策していました。 前回は、あえなく断念・・・ 日本の中心付近で仕様変更と闘うSE日記VMWareがだめだったから、Virt …

[ORACLE]ORA-24344:正常に終了しましたが、コンパイル・エラーがあります。

全然、正常に終われてねぇんじゃん?? って思った。 ビューの作成時に発生。 ネットで検索するも、明確な回答は見当たらず・・・ ただ、エラーには違いないので、ビューが正しく作成されていないことになる。 …

[VMWare Fusion]VMWare Fusion 11がBigSurで使えなかった話。

  現在、WindowsとMacの2OS持ちの私ですが、2OSにはデメリットもありまして、それをカバーするために、VMWare Fusionを使用してWindowsとの橋渡しをしたりしてる訳 …

WindowsのコマンドプロンプトでUnicodeを扱おうとして挫折した。

WindowsのコマンドプロンプトでUnicodeのファイル名を扱うためのバッチファイルをどうたらこうたら。 http://daily-misc.blogspot.jp/2014/12/windows …


カテゴリー