- PR -

PanelコントロールでのTextBoxクリアについて

1
投稿者投稿内容
さかもと
ぬし
会議室デビュー日: 2004/05/14
投稿数: 586
投稿日時: 2005-02-10 19:38
Panelコントロールについて
お世話になります。
WinXP
VB.NET2003
framework1.1
Winアプリ

現在パネルに複数のテキストボックスを貼り付け
クリアボタンを押した時に該当パネル上のテキストボックスを全てクリアする
処理を作成しています。

Dim i As Integer = 0
Dim hoge As String
Do While i < pnl_6.Controls.Count
hoge = pnl_6.Controls(i).GetType().ToString
If hoge = "System.Windows.Forms.TextBox" Then
pnl_6.Controls(i).ResetText()
End If
i = i + 1
Loop

とした時にクリアされるテキストボックスとされないものがあり
その原因が分かりません。

少々長いですが,比較の為クリアされるテキストボックスと不可のもののコードを
記載します。(IDEから作成したままです)
///////////////////////////////////////
Friend WithEvents txt_KensinYM1 As System.Windows.Forms.TextBox
Me.txt_KensinYM1 = New System.Windows.Forms.TextBox

'txt_KensinYM1★OK★
'
Me.txt_KensinYM1.BackColor = System.Drawing.Color.FromArgb(CType(255, Byte), CType(255, Byte), CType(128, Byte))
Me.txt_KensinYM1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.txt_KensinYM1.Font = New System.Drawing.Font("MS ゴシック", 11.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(128, Byte))
Me.txt_KensinYM1.ImeMode = System.Windows.Forms.ImeMode.Off
Me.txt_KensinYM1.Location = New System.Drawing.Point(117, 36)
Me.txt_KensinYM1.MaxLength = 10
Me.txt_KensinYM1.Name = "txt_KensinYM1"
Me.txt_KensinYM1.Size = New System.Drawing.Size(60, 22)
Me.txt_KensinYM1.TabIndex = 151
Me.txt_KensinYM1.Text = ""
'
///////////////////////////////////////
Friend WithEvents txt_KensinYmd As System.Windows.Forms.TextBox
Me.txt_KensinYmd = New System.Windows.Forms.TextBox

'txt_KensinYmd ★NG★
'
Me.txt_KensinYmd.BackColor = System.Drawing.Color.FromArgb(CType(255, Byte), CType(255, Byte), CType(128, Byte))
Me.txt_KensinYmd.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.txt_KensinYmd.Font = New System.Drawing.Font("MS ゴシック", 11.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(128, Byte))
Me.txt_KensinYmd.ImeMode = System.Windows.Forms.ImeMode.Off
Me.txt_KensinYmd.Location = New System.Drawing.Point(117, 90)
Me.txt_KensinYmd.MaxLength = 10
Me.txt_KensinYmd.Name = "txt_KensinYmd"
Me.txt_KensinYmd.Size = New System.Drawing.Size(60, 22)
Me.txt_KensinYmd.TabIndex = 176
Me.txt_KensinYmd.Text = ""

前者がOKで後者がNGです。

パネルの方ですが

Me.pnl_6.BackColor = System.Drawing.Color.SteelBlue
Me.pnl_6.Controls.Add(Me.txt_KensinYM1)
Me.pnl_6.Controls.Add(Me.lbl_KensinYmd)
/複数の為略
Me.pnl_6.Location = New System.Drawing.Point(9, 282)
Me.pnl_6.Name = "pnl_6"
Me.pnl_6.Size = New System.Drawing.Size(216, 348)
Me.pnl_6.TabIndex = 317

となっており正常にAddされているように思えます。
別のパネルでも同様の処理をしており,こちらはうまくいっています。
又,コードを見比べてもうまくいかないパネルとの差は無いように思えます。

IDEからのテキストボックス作成も別段変わったことはしていないと思うのですが
ご存知の方がいらっしゃればご教授ください。

宜しくお願い致します。

さかもと
ぬし
会議室デビュー日: 2004/05/14
投稿数: 586
投稿日時: 2005-02-10 20:02
さかもとです。
申し訳ありません・・・。自己解決です。
該当のクリアボタンを押した後にテキストボックス(うまくクリアできなかったもの)
に対して値をセットするようになっていました。

1:クリアの処理が走る⇒2:値をセットする(テスト用の数値)

開発担当者間の連絡漏れです・・・。

お手数をお掛けしました。
1

スキルアップ/キャリアアップ(JOB@IT)