私は自分自身をプロジェクトマネージャにしています。私は頻繁にプロジェクトリストを更新する必要があります。プロジェクトマネージャを更新するときに、以前に選択したアイテムを選択したいとします。しかし、その選択は、私のテキストボックスを非選択にするので、そのテキストボックスは、1つのキーを入力した後に選択解除されます。テキストボックスを選択したマーク位置の原因について>プログラムは(RefreshProjectListを呼び出す) リストボックスを変更したときに選択されたテキストボックスの選択解除
- 私はEditionがプロジェクトに更新が発生する1つのテキストボックス
- を編集しよう:
だから、何が起こるかを概説
- の検索結果を選択解除するために:あなたは
つのシンボルを書いた後、テキストボックスを選択する必要があります
These selected text boxes are struggling to be edited
コード:
private void RefreshProjectList() {
if (BlockListReload)
return;
Project selected = (Project)ProjectList.SelectedItem;
ProjectList.Items.Clear();
CurrentlyShown.Clear();
foreach(Project p in Projects){
if (p.state == State.Planned && ShowPlanned.Checked) {
CurrentlyShown.Add(p);
ProjectList.Items.Add(p);
}
if (p.state == State.Active && ShowActive.Checked) {
CurrentlyShown.Add(p);
ProjectList.Items.Add(p);
}
if (p.state == State.Finished && ShowFinished.Checked) {
CurrentlyShown.Add(p);
ProjectList.Items.Add(p);
}
if (p.state == State.Delayed && ShowDelayed.Checked) {
CurrentlyShown.Add(p);
ProjectList.Items.Add(p);
}
}
if (selected == null)
return;
if (ProjectList.Items.Contains(selected)) {
ProjectList.SelectedItem = selected; // IF I REMOVE THIS
} else {
if (ProjectList.Items.Count > 0)
ProjectList.SelectedIndex = 0; // OR THIS LINE, EVERYTHING WORKS
}
}
あなたはより多くのコードが必要な場合は、私が提供させていただきますが、私は役に立たないコードの負荷であなたをスパムしたくありません。
Q:ListBoxの選択項目を変更すると、TextBoxの選択が解除され、その防止方法が変わるのはなぜですか?
私はエラーがコード内にあるとは思わない。フォーム全体を再初期化しているフォームの新しいインスタンスを作成していると思います。 – jdweng
@jdweng私はこれらの行にコメントを付けるとすべてがうまく動作するため、(//ここに)マークされた行によって問題が発生していると確信しています。 (ListBoxがその選択を維持していないことを除いて、私はそれをやっているのです) – Meowxiik
HideSelectionはオンですか? – TaW