我的 VB.Net Winforms 应用程序是一个工具,允许在树中编辑分层数据,然后将其存储在数据库中。我正在使用树视图控件。
内容从其他文档拖放到树节点上,或者可以直接编辑节点。
如果我直接编辑数据库字段,并输入一些内容(一千个字符或更多!),树视图会很高兴地显示它。但是,当我拖放时,数据被截断为 259 个字符。如果我直接编辑,最大编辑“窗口”也是 259 个字符。
259 似乎是一个非常奇怪的数字,所以我想知道 - 这个大小来自哪里,我可以通过编程方式更改它吗?
我建议采取不同的方法。您可能不想在他们的 TreeNode 中向您的用户显示文档的所有 10000 个字符或字符,因此请创建一个具有名称和内容等属性的自定义数据存储类来存储文档及其标题。将您的内容添加到 Content 属性和标题或对 Name 属性有意义的内容,然后将对象添加到 TreeNode 对象的 Tag 属性。
Dim mynode As New TreeNode
Dim SomeBigCustomObject as New MyContentStorageObject(name,content)
mynode.Text = SomeBigCustomObject.Name
mynode.Tag = SomeBigCustomObject
TreeView1.Nodes.Add(mynode)
然后,您可以在选择节点(使用 AfterSelect 事件)时取回对象,如下所示:
dim ContentStorageObject As MyContentStorageObject = CType(e.Node.Tag, MyContentStorageObject)
dim content as string = ContentStorageObject.Content
如果您需要编辑文本,我会弹出一个编辑器对话框或将存储在内容中的数据发送到表单上的文本框进行编辑。您的用户可能会喜欢不必在树视图节点编辑器中输入所有内容。
That's a real quick and dirty explanation, but the essence is "use the .Tag property". Good luck.