내 Windows 응용 프로그램에서 treeview 컨트롤을 사용합니다. 이 응용 프로그램에는 여러 노드를 추가하는 단추가 있습니다 (루트 노드 & 자식 노드). 이제이 구조를 저장하고 응용 프로그램을 다시 열 때 사용하고 싶습니다.트리보기에서 노드 저장
어떻게하면됩니까?
내 Windows 응용 프로그램에서 treeview 컨트롤을 사용합니다. 이 응용 프로그램에는 여러 노드를 추가하는 단추가 있습니다 (루트 노드 & 자식 노드). 이제이 구조를 저장하고 응용 프로그램을 다시 열 때 사용하고 싶습니다.트리보기에서 노드 저장
어떻게하면됩니까?
당신은 당신이 중 하나를 저장할 수 있습니다, 당신은 바이트 배열을 가지고 일단 출발점으로 된 BinaryFormatter를 사용하여 트리 structor이
private Byte[] SerilizeQueryFilters()
{
BinaryFormatter bf = new BinaryFormatter();
TreeNodeCollection tnc = treeView1.Nodes;
List<TreeNode> list = new List<TreeNode>();
list.Add(treeView1.Nodes[0]);
using (MemoryStream ms = new MemoryStream())
{
bf.Serialize(ms, list);
return ms.GetBuffer();
}
}
2 아래 참조 일
1 Serilize
다음을 수행 할 필요가 데이터베이스 또는 파일로.3- 트리를 다시 만들려면 데이터가 데이터베이스에있는 경우 저장된 데이터를 deserilize해야하며, 실제 바이트 및 스트로크를 byte [] 배열로 읽거나 파일로드에있는 경우 파일을 읽고 모든 바이트를 바이트 배열로 읽습니다. 당신이 실제 바이트를 얻을 때
4, 당신은 코드
여기private void DeSerilizeQueryFilters(byte[] items)
{
BinaryFormatter bf = new BinaryFormatter();
List<TreeNode> _list = new List<TreeNode>();
try
{
using (MemoryStream ms = new MemoryStream())
{
ms.Write(items, 0, items.Length);
ms.Position = 0;
_list = bf.Deserialize(ms) as List<TreeNode>;
}
}
catch (Exception ex)
{
}
}
이전에, 이제 데이터를 가지고 serilized 된 실제 루트 노드를 포함 할 _list을 볼 수 있습니다 아래에 따라 deserielize 수 있습니다, 당신은 당신의 나무를 재구성 할 수 있습니다.