- - PR -
WindowsFormのLabelコントロール
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-01-13 14:24
LabelコントロールのUseMnemonicプロパティについて
非常に悩んでおります。 是非皆さんのお知恵を拝借したいと思います。 現在、あるWindowsアプリを作成しているのですが、 完成間際になってLabelコントロールに「&」が表示されず 隣接文字にアンダーバーが表示されてしまう事に気付きました。 LabelコントロールのUseMnemonicプロパティものがあり、 これをFalseにすれば回避できるというところまではわかったのですが、 既にかなりの数のラベルを貼り付けている為、その1つ1つに このプロパティを設定するのが非常に困難な状態となっています。 ヘルプによるとLabelコントロールのUseMnemonicプロパティの 規定値はTrueとの事ですが、.NETのXMLファイルなどを利用して アプリ内の全てのLabelコントロールに対して、 UseMnemonicプロパティの規定値をFalseに変える方法は 無いものでしょうか? | ||||
|
投稿日時: 2006-01-13 14:32
正規表現置換などを駆使して、うまい具合に置換できる条件を探して置換できませんか?
InitializeComponent メソッド内を見て検討してみてください。 邪道ですが、派生コントロール側のコンストラクタで、 初期値を false にしてしまい、一括置換して派生コントロールに変えてしまう手もあります。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-01-15 16:38
じゃんぬねっとさん。アドバイスありがとう御座います。
やはり、手抜きはダメなのですね(汗 プロジェクトが221個も集まっているアプリなので 楽に出来ればと思ったのですが・・・ 置換する方向で、検討してみます。 ※正規表現置換はやった事がないので、少々時間が掛かりそうですね(汗 | ||||
|
投稿日時: 2006-01-15 17:35
命名規則や法則はありますか? (lbl〜 とか、〜Label) など。 ないと置換はかなり厳しいと思います。 最悪、置換用のアプリケーションを作りましょう。 System.Windows.Forms.Label で宣言された変数名を収集して、 InitializeComponent メソッド内でその名前に合致したブロックを見つけ、 そこに、UseMnemonic を false にすると良いでしょう。 複雑な画面でなければ、デザイナで一気に選択して、 一気に UseMnemonic を false にできますけどね... _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |
1