为什么winforms TreeView treenode在节点中说'treenode:'?

时间:2013-11-14 19:51:10

标签: c# winforms treeview

每个人:    当我运行以下代码时,一切正常,除了在运行应用程序时每个节点显示“TreeNode:”字样。该应用程序是C Sharp Winform .NET 4.0。

而不是每个节点说: 12345日期:1980年1月1日 - 客户:XYZ

他们说: TreeNode:12345日期:1980年1月1日 - 客户:XYZ。

我正在使用.NET 4.0。我不经常使用TreeView,但我从未在旧版本的.NET中看到过这个问题。

感谢您的帮助。 戴尔

quotesTreeView.BeginUpdate();
quotesTreeView.Nodes.Clear();

for (int i = 0; i < sqmTable.Rows.Count; i++)
{
    if (currentQuoteNumber != sqmTable.Rows[i]["QuoteNumber"].ToString())
    {                        
        quotesTreeView.Nodes.Add(new TreeNode(sqmTable.Rows[i]["QuoteNumber"].ToString()) + " Date: " + sqmTable.Rows[i]["QuoteDate"].ToString() + " - Customer:" +  sqmTable.Rows[i]["CustomerName"].ToString());

        quotesTreeView.Nodes[masterNodeNumber].Tag = C_MASTER + "," + sqmTable.Rows[i]["QuoteNumber"].ToString();
        quotesTreeView.Nodes[masterNodeNumber].ImageIndex = C_IMAGE_QLOGO;
        quotesTreeView.Nodes[masterNodeNumber].SelectedImageIndex = C_IMAGE_QLOGO;

        currentQuoteNumber = sqmTable.Rows[i]["QuoteNumber"].ToString();
        masterNodeNumber = quotesTreeView.Nodes.Count-1;
    }
}

1 个答案:

答案 0 :(得分:1)

这是TreeNode.ToString()方法的实现:

public override string ToString()
{
    return ("TreeNode: " + ((this.text == null) ? "" : this.text));
}

所以你所看到的并不是什么大不了的事。例如,当您检查节点时,您将在调试器中看到它。如果你真的在你的用户界面中看到它,那么一个好看的地方就是在“sqmTable”中添加行的代码。确保它使用节点的Text属性而不是ToString()。