- - PR -
コントロールのNameプロパティ
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-10-22 09:22
おはようございます。
VB2005でコントロールのNameプロパティのデフォルトを変更することは可能でしょうか?(例TextBox=text1なのをTextBox=txt) コントロール名を3文字または4文字で設定するようにするためにデフォルトでそのような値が入ってくればいいという話があったもので。 | ||||||||
|
投稿日時: 2007-10-22 09:44
デザイナによる初期値は、System.ComponentModel.Design.ComponentDesigner.InitializeNewComponent メソッドあたりで設定します。 Name プロパティは設定できるとは思いますが、そもそも Name プロパティと デザイナで決められる識別名は同じものではありませんよ。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2007-10-22 11:03
じゃんぬねっとさん 書き込みありがとうございます。 要はツールボックスからフォーム上にドラックした状態で表示されるNameプロパティのデフォルトを設定したいのですが、それは出来ないということですね? | ||||||||
|
投稿日時: 2007-10-22 11:59
あーっと、すみません。 そこに関しては "Masa さんが本当に変更したいのは識別名の方ではないのでしょうか?" という以上の意味は持っておりません。 Name プロパティを変更することで Masa さんの目的が達成できるかどうかがわからなかったので確認の意味で書いたつもりでした。 Name プロパティに対して実際に試みたことがないのでどうなるかわからないです。 そもそも変更できないかもしれません。 こちらで試したいのですが、ちょっと環境がないので試すことができません。 申し訳ありません。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2007-10-22 13:34
こんにちは。
既存コントロールを継承したカスタムコントロールクラスを作成し、そのクラス名を任意の名前にしてはどうでしょうか。
でも後ろに数字(txt1、txt2)がつくのは避けられないと思いますし、結局識別する為に名前を変更すると思うのであまり意味はないかもしれません。 | ||||||||
|
投稿日時: 2007-10-22 13:34
じゃんぬねっとさん
テストしてみようとしましたがいまいちわかりません。 フォームに貼り付けた時に設定されるNameを変更したいのですがうまく出来そうもありませんね。 ありがとうございます。 | ||||||||
|
投稿日時: 2007-10-22 18:11
というよりは識別子なのでサフィックスがつかないと、名前の重複が避けられなくなってしまうのでまずいですよね。(数字でなくてもいいですが同じことです) J.J. さんの回答はクラス名が一般的なガイドラインから脱してしまいますが、目的から見た現実解としては正解だと思います。 質問者の意図が識別名か Name プロパティなのかいまだに自信が持てませんが、識別名だとしたら確実に私のは不正解です。 # マクロでも通した方が長い目で見て柔軟だと思います... _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2007-10-23 09:24
私はIDEでFormにControlを貼り付けた時にプロパティウインドウの[(Name)]項目の事を言っているのだと思いました。
そこの規定値はクラス名+数字(サフィクス)になるみたいなので、継承させてクラス名を変えればいいんじゃないかと思いまして。
これは書いてから思いました。でもまあプロジェクトのメンバーが理解しているんであれば狭い範囲ならいいのかなとも思いまして。 私はやですけど。
VS2005をまだあまり触ってないのですが、こういう機能がついてるのですね。 #少し触ってみたんですが、フツーにデザインしたほうが楽な気が・・・ |