如何在WinForms Treeview LabelEdit中更改259 char限制?

时间:2008-10-06 07:57:23

标签: vb.net treeview

我的VB.Net Winforms应用程序是一种工具,允许在树中编辑分层数据,然后存储在数据库中。我正在使用树视图控件。

将内容从其他文档拖放到treenodes上,或者可以直接编辑节点。

如果我直接编辑数据库字段,并输入一些内容(一千个字符长或更长!),树视图将很乐意显示它..但是,当我拖放时,数据被截断为259个字符。如果我直接编辑,最大编辑“窗口”也是259个字符。

259似乎是一个非常奇怪的数字,所以我想知道 - 这个大小来自哪里,我可以通过编程方式更改它吗?

1 个答案:

答案 0 :(得分:2)

我建议采取不同的方法。您可能不希望在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

如果您需要编辑文本,我会弹出一个编辑器对话框,或者将内容中存储的数据发送到表单上的文本框进行编辑。您的用户可能会欣赏不必在树视图节点编辑器中输入所有内容。

这是一个真正快速而肮脏的解释,但实质是“使用.Tag属性”。祝你好运。