- - PR -
TreeViewからのFocus移動について
1|2|3
次のページへ»
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-08-10 11:20
はじめまして。
現在VB.netでWinアプリを作成しています。 左側にTreeView、右側にPanelを配置し、 TreeViewで選択されたNodeにより 右側のPanelの内容を設定するというものです。 TreeViewでNodeを選択し、Panelにコントロールを追加したあと、 Panel上のコントロールにフォーカスを移動したいのですが、 control.focus() や control.selectnextcontrol() 等を行っても移動できません。 どなたか原因のわかる方がいらっしゃいましたら教えてください。 よろしくお願いいたします。 | ||||||||
|
投稿日時: 2005-08-10 11:29
こんにちは、じゃんぬ です。
それでいけるはずです。 そのコントロールのインスタンス.Focus() でいけました。 VB2005 ではないですよね? (^-^;)
これは、次のコントロールにフォーカスを移すもので、求めているものと違いますよね。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2005-08-10 11:41
わたしも実験してみたんですが, キーだとうまくいくけど,マウスでクリックした時, フォーカスが移ってくれないです。 以下,実験コード ●フォームロードのコード Dim rootnode As TreeNode = New TreeNode("root") rootnode.Nodes.Add("aaa") rootnode.Nodes.Add("bbb") Me.TreeView1.Nodes.Add(rootnode) ●TreeView.AfterSelectのコード Me.Panel1.Controls.Clear() Dim t As TextBox = New TextBox t.Text = e.Node.Text Me.Panel1.Controls.Add(t) t.Focus() | ||||||||
|
投稿日時: 2005-08-10 11:59
こんな感じで... Me.TreeView1.SelectedNode = Nothing Me.Button1.Focus() [ シグネチャを削除 ] [ メッセージ編集済み 編集者: じゃんぬねっと 編集日時 2006-10-12 11:42 ] | ||||||||
|
投稿日時: 2005-08-10 12:04
じゃんぬねっとさん、なおこ(・∀・)さん、ご返信ありがとうございます。
VB2005ではないです。 なおこさんのおっしゃるとおり、control.focus()で キーだと思うように動作しますが、 NodeをClickした場合はうまくいきませんね。 Click時も同様に動作させたいのですが。。。 | ||||||||
|
投稿日時: 2005-08-10 12:15
修正した投稿を読まれてないかもしれないので、再度投稿。 Me.TreeView1.SelectedNode = Nothing Me.Button1.Focus() こんな感じでどうですか? _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2005-08-10 12:15
じゃんぬねっとさん、
Me.TreeView1.SelectedNode = Nothing を入れてみましたが、 ■マウスクリック時 フォーカスがRootNodeに移動 ■キー操作時 フォーカスがcontrol.focus()のControlに移動 という結果になってしまいました。 恐れ入りますが、別の回避策をご存知でしたら教えてください。 | ||||||||
|
投稿日時: 2005-08-10 13:32
やってみたですが, 1coさんと同じ結果になりました...
上記のような動きよいのであれば #じゃんぬさんがそれは違いますよねって,確認していらっしゃいますが(汗 PanelにAddした最初のコントロールにフォーカスをセットする事は できました。かなり無理やりっぽいですがw ●TreeView.AfterSelectのコード Me.Panel1.Controls.Clear() Dim t As TextBox = New TextBox t.Text = e.Node.Text Me.Panel1.Controls.Add(t) SendKeys.Send("{Tab}") お役に立てなくてすみません… |
1|2|3
次のページへ»