0
내 목록 상자에 문제가 있습니다. 항목을 추가하거나 삭제하는 것과 같이 데이터에서 아무 것도 변경하면 항목이 보이지 않게되지만 실제로는 여기에 있습니다. (내 마우스가 마우스를 가리키면 일종의 툴팁을 만들었 기 때문에 그것을 볼 수 있습니다.)목록 상자 항목 데이터를 새로 고칠 때 "보이지 않음"(winform)
내 목록 상자의 목적은 사용자가 콤보 상자가있는 폴더를 선택할 때 장면 (파일과 같은) 목록을 표시하는 것입니다.
class Folder
{
public Int32 IdFolder { get; set; }
public String FolderName { get; set; }
public String FolderInfo { get; set; }
// contains the list to show in the listbox
public List<Scene> ListScenes = new List<Scene>();
}
class Scene
{
public Int32 IdScene { get; set; }
public String SceneName { get; set; }
public byte[] SceneDesc { get; set; }
public byte[] SceneInfo { get; set; }
}
나는 다음과 같은 순서로 이러한 기능을 사용합니다 :
Populate_Scene_Datas();
Refresh_blScenes();
경우
public partial class FormScenario : Form
{
BindingList<Folder> blFolders = new BindingList<Folder>();
BindingList<Scene> blScenes = new BindingList<Scene>();
public FormScenario(FormMainPanel fParent)
{
InitializeComponent();
FParent = fParent;
}
public void Refresh_blScenes()
{
lb_scenes.DataSource = null;
lb_scenes.Items.Clear();
lb_scenes.DataSource = this.blScenes;
lb_scenes.DisplayMember = "SceneName";
//attempt to fix the bug ... not working
lb_scenes.DrawMode = DrawMode.Normal;
lb_scenes.DrawMode = DrawMode.OwnerDrawFixed;
}
public void Populate_Scene_Datas()
{
blScenes.Clear();
Folder fol = (Folder)cb_listfolders.SelectedItem;
if (fol != null){
foreach (Scene sce in fol.ListScenes){
this.blScenes.Add(sce);
}
}
}
}
유용 경우, 내 개체가 : 여기
내 코드입니다 누군가 나에게이 문제에 대한 힌트 나 대답을 주면 매우 도움이 될 것입니다!고마워요!
하면 디스플레이 회원과 선택된 값의 속성을 설정하기 위해 노력했다
나는이를 변경해야합니다. –
데이터를 추가하거나 삭제할 때 ** Populate_Scene_Datas() ** 함수를 사용해야한다고 생각합니다. –
@VickyS Displaymember를 설정했으나 (내 게시물에서 볼 수는 있지만) selectedvalue가 아닙니다 ... 시도해 볼 것입니다! – Sanno