tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル 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

などとなっていまいます。



まあ、逆に言えば最初に配列にセットするため
この定義部分だけ修正すれば済むことなのですが・・・

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。