2008-10-06 61 views
1

我的VB.Net Winforms應用程序是一個工具,允許分層數據在樹中編輯,然後存儲在數據庫中。我正在使用樹視圖控件。如何更改WinForms Treeview LabelEdit中的259字符限制?

將內容從其他文檔拖放到treenodes上,或者可以直接編輯節點。

如果我直接編輯數據庫字段,並輸入一些內容(千字符或更多!),treeview會高興地顯示它..但是,當我拖放,數據被截斷在259字符。如果我直接編輯,最大編輯'窗口'也是259個字符。

259似乎是一個很奇怪的數字停止在,所以我想知道 - 在沒有這種規模從哪裏來,我可以通過編程方式改變它呢?

回答

2

我會建議採取不同的方法。你可能不希望在自己的樹節點反正顯示您的用戶文檔的所有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財產」。祝你好運。

+0

這是我落得這樣做 - 顯示文本的短位,並增加了「標籤」條目允許內容根據需要加載和彈出到一個單獨的多行文本編輯 - 加點,它的速度更快,迫使我重新設計用戶界面。 – TheoJones 2008-11-20 11:21:53

相關問題