C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

DataRepeater内のフォーカス移動について


(過去ログ 85 を表示中)

[トピック内 1 記事 (1 - 1 表示)]  << 0 >>

■50535 / inTopicNo.1)  DataRepeater内のフォーカス移動について
  
□投稿者/ かむら ひろしげ (1回)-(2010/06/10(Thu) 13:28:51)

分類:[VB.NET/VB2005 以降] 

VB2008
WinXP Pro SP3

お世話になります。
フォームにDataRepeaterを配置し、いろいろと操作しています。
今引っかかっているのは、
あるDataRepeater内のTextBoxにフォーカスがある状態で、
キーボードの矢印下や矢印上のキーを押したとき、
DataRepeater内の次の行(または前の行)の同じTextBoxに
フォーカスを移したいのですが、なかなかできません。

例:DataRepeater1 に txt1 という名前のTextBoxがあり、
 キーボードの矢印下キーを押したときのコード

Private Sub txt1_PreviewKeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.PreviewKeyDownEventArgs) Handles txt1.PreviewKeyDown

Dim f02int1, f02int2, f02int3 As Integer

f02int1 = Me.DataRepeater1.ItemCount
f02int2 = Me.DataRepeater1.CurrentItemIndex

If f02int1 - 1 = f02int2 Then Exit Sub '次のレコードがない Exit

f02int3 = f02int2 + 1
Me.DataRepeater1.CurrentItemIndex = f02int3  'CurrentItemを移動
Me.DataRepeater1.CurrentItem.Controls.Item("txt1").Focus()
End Sub

このコードを動かしてみても、
txt1からフォーカスは離れるのですが、その行全体のフォーカスになってしまい、
下の行にも移りません。
ただ、いろいろと確認用のコードを入れてみると、
次の行のtxt1 に一旦フォーカスは移っているようなんですが、
すぐに前の行全体をフォーカスする状態に戻ってしまいます。
txt1は Enabled = True です。

フォーカスを移す方法がありましたら、ご教授ください。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -