- - PR -
C# TreeViewのソートについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-12-05 17:54
はじめまして
C#の勉強中なのですが、ツリービューにて以下のような現象が発生しているのですが 解決方法が見つからず悩んでいます。 ■ 環境 ・Windows XP Pro SP2 ・VS2005 SP1 ・.NET FrameWork2.0 SP1 ■ やりたいこと ・F2の押下で選択されているノードのテキストを編集状態にする ・編集終了後にノードをソートする ■ ソース private void treeView1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.F2){ TreeNode tnSelNode = treeView1.SelectedNode; if (tnSelNode != null) { treeView1.LabelEdit = true; tnSelNode.BeginEdit(); } } } private void treeView1_AfterLabelEdit(object sender, NodeLabelEditEventArgs e) { e.Node.EndEdit(false); treeView1.LabelEdit = false; if (e.Label != null){ e.Node.Text = e.Label; treeView1.Sort(); treeView1.Refresh(); } } ■ 問題点 ・テキスト編集していないノードのテキストまで表示上?変更される 例) 初期状態 AA BB CC DD 先頭ノードのテキストをAA⇒CCCに変更 CCC ・・・ ※1 CC CCC DD デバッグウィンドウで先頭ノード(※1)のテキストプロパティを見た場合は "BB" のままです。 初歩的な質問かもしれませんが、気がついた点があればご指摘願えればと思います。 |
|
投稿日時: 2007-12-05 22:15
ソースをコピーして確認してみました。
・「デバッグ開始」で実行 あきらさんと同じ結果でした。 ・「デバッグなしで開始」、もしくはEXEを実行 BB CC CCC DD と正しい結果になりました。 |
|
投稿日時: 2007-12-06 10:32
Tesla さん始めまして。
おっしゃる通り、デバッグなしで開始すると望んでいる結果になりました。 デバッグのあり・なし で表示が異なるのは不思議ですね |
1