タイトル : Re^2: コントロール名が勝手に変わる・・・ 投稿日 : 2007/02/27(Tue) 12:06 投稿者 : フウセンウナギ
> > Msgbox txt1.Text > VB2005 っぽくないコードですね……。 > メソッド呼び出しに括弧が無いと、コンパイルエラー(BC30800)になるはずなんですけど。 > > > > Msgbox txt2.Text > > と勝手に変わってしまいます。 > 連動してくれた方が便利だったりしませんか? > # 極端な話、初期設定の TextBox1 のままだったら困りますよね。 > > というよりも、コントロール名を変えておいて、それを利用するコードを > 修正したくない…という状況が思い浮かびませんでした。 > 名前を txt1 → txt2 にした、ということは、txt1 なコントロールが > 無くなったという事ですよね。にもかかわらず、txt1 を残したいという > 状況が思い浮かびませんでした。 > > > txt1に関連付けられたイベントとの関連付けがなくなっていまいます。 > WithEvents 定義のコントロールなら、イベント宣言末尾の「Handles」句の修正漏れとか。 > > > これらを防ぐ方法というか設定というのはないのでしょうか? > 元のコードをコピーしておいて、名称変更後に手動でコードを復元、という泥縄的方法とか。 自分は画面の起動時のコントロールをすべて配列にセットしています。 Private txt() As System.Windows.Forms.TextBox Me.txt = New System.Windows.Forms.TextBox(3) {} Me.txt(0) = txt0 Me.txt(1) = txt1 ・ ・ ・ この状態でコントロール名をtxt0からtxt1に変えたとき、 Me.txt(0) = txt1 Me.txt(1) = txt1 などとなっていまいます。 まあ、逆に言えば最初に配列にセットするため この定義部分だけ修正すれば済むことなのですが・・・ |