作成日: 2024/04/16 最終更新日: 2024/10/09
文書種別
不具合
発生環境
.NET 8
状況
修正済み
詳細
ノードをダブルクリックして編集状態にした後、フォーカスを1行下へ移動して再びそのノードへフォーカスを戻します。次いでMoveメソッドを用いて1行下に移動※しようとすると、2行下に移動してしまいます。
※ c1TreeView1.Nodes.Move(index, index + 1);
回避方法
Moveメソッドの実行コードの前後を、BeginUpdate/ EndUpdateメソッドで囲みます。
private void C1Button_Click(object sender, EventArgs e)
{
//1行下のノードに移動
C1TreeNode[] nodes = c1TreeView1.SelectedNodes;
if((nodes == null) || (nodes.Length == 0))
{
return;
}
else
{
int index = c1TreeView1.Nodes.IndexOf(nodes[0]);
if(index != -1)
{
if(index + 1 = c1TreeView1.Nodes.Count)
{
return;
}
//回避策(1/2)
c1TreeView1.BeginUpdate();
c1TreeView1.Nodes.Move(index, index + 1);
}
nodes[0].Selected = true;
//回避策(2/2)
c1TreeView1.EndUpdate();
}
}
回避方法
この問題は2024J v1.1(8.0.20241.672)で修正されました。