Windowsフォームのテキストラベルに「&」記号を入力しますか?


103

LabelC#(Windowsフォーム)で特殊文字をどのように入力しますか?

ラベルに「&」を書き込もうとすると、代わりにアンダースコアが表示されます。

では、C#で "&"に相当するものは何でしょうか。(「\&」は明らかに機能しません)。

回答:


202

二つの方法:

  • 別のアンパサンド(&&)でエスケープします。

  • UseMnemonicそのラベルをに設定しfalseます。これにより、テキスト内のすべてのアンパサンドが文字どおりに解釈されるため、それらのいずれも2倍にする必要はありません。ただし、下線が失われ、主要な機能にアクセスできます。

    値は、デザイナーまたはコードで設定できます。

    myLabel.UseMnemonic = false;
    myLabel.Text = "Text&Text";

1
私はすでに&&パターンを知っていました(そして使用しました)が、UseMnemonic私はこれまでに見たことがありません。したがって、この新しい啓発のために+1。
Oliver


1
ToolStripStatusLabelこのプロパティがないので、これをStatusStripで使用したい場合は、別のアンパサンドでエスケープする必要がありますか?
AdamMc331 2015

2
@ McAdam331:私はそう信じています。
BoltClock

1
@BoltClockありがとう。それは簡単でString.Replace("&", "&&")、テキストを設定するときはいつでも使用したので、オブジェクト自体を変更せずにアンパサンドをエスケープし、他の場所での表示方法を台無しにすることができました。
AdamMc331 2015



0

デザイナで「&」を使用する方法はわかりませんが、コードでは「&&」を使用して「&」を表示できます


5
「&&」はデザイナーでうまく機能します。テキストを変更する場所に入力するだけです。
Spectraljump 2010

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.