使用 VB6
タブを切り替えるときの処理なんですが、すでに選択中のタブをもう一度クリックするとテキストの内容がきえてしまいます。
タブを切り替えた後なら消えないのですが、切り替える前だと消えるんです。
コードはこんな感じ↓
Private Sub TabStrip2_BeforeClick(Cancel As Integer)
a = TabStrip2.SelectedItem.Index
TxtIn(a) = txtEdit.Text
End Sub
Private Sub TabStrip2_Click()
b = TabStrip2.SelectedItem.Index
txtEdit.Text = TxtIn(b)
If txtEdit.Visible = True Then
txtEdit.SetFocus
End If
End Sub
txtEditってのがテキストボックスです。
TxtIn()はテキストの内容を保存しておく配列変数です。
aは以前選択されていたタブindexをいれてあり、
bは選択したタブindexをいれてあります。
txtEdit.Text = TxtIn(b)
の部分をコメントアウトしたらその現象はなくなるのですが、さすがにタブの切り替えがうまくいきませんw
よろしくお願いします。
えーっと…
TxtIn(a)に代入しているときのaの値が、
ちゃんとTxtIn(b)で取り出しているときのbの値になっているか確かめました?
a、bに代入した直後に適当なところにその値を表示させて確認してみたところ、
aに代入されるはずの値がうまくいっていないことがわかりました。
仮に、現在選択されているタブが3番だったとして、そこでもう一度3番を押せばa、bともに3番にならなくてはいけないのに、値が変化しません。
あと書き忘れていましたが、テキストが消えるのは
タブを追加して増やした直後に同じタブを選択したときです。
(増えた場所のタブに移るようにしてある)
ツイート | ![]() |