我正在将win32软件迁移到.NET,目前正在使用Delphi Prism中的TreeView控件。到目前为止,我能够将父节点和子节点添加到TreeView。但是,我想知道Delphi Prism TreeView是否有替换AddchildObject函数。如果没有,你会怎么做?
似乎网上的信息很少。
答案 0 :(得分:1)
我相信这个问题可能无法得到这里的同事们的回答,我觉得这对于任何正在做Delphi Prism的程序员来说都是一个重要的问题。所以,我决定自己回答这个问题而不是删除它,因为我在另一个StackOverflow问题中找到了答案。但是,我的问题和他们的问题不同,但需要相同的答案。
我写了一个快速简单的delphi prism示例来展示如何使用treeview并能够在treeview节点中存储和检索对象。
这是我的Treeview示例
namespace TreeViewExample;
interface
uses
System.Drawing,
System.Collections,
System.Collections.Generic,
System.Windows.Forms,
System.ComponentModel;
type
/// <summary>
/// Summary description for MainForm.
/// </summary>
MainForm = partial class(System.Windows.Forms.Form)
private
method MainForm_Load(sender: System.Object; e: System.EventArgs);
method treeView1_Click(sender: System.Object; e: System.EventArgs);
protected
method Dispose(disposing: Boolean); override;
public
constructor;
end;
theclass = class
thestr:String;
public
constructor;
end;
implementation
{$REGION Construction and Disposition}
constructor MainForm;
begin
//
// Required for Windows Form Designer support
//
InitializeComponent();
//
// TODO: Add any constructor code after InitializeComponent call
//
end;
method MainForm.Dispose(disposing: Boolean);
begin
if disposing then begin
if assigned(components) then
components.Dispose();
//
// TODO: Add custom disposition code here
//
end;
inherited Dispose(disposing);
end;
{$ENDREGION}
constructor theclass;
begin
thestr:='Testing Treeview.';
end;
method MainForm.MainForm_Load(sender: System.Object; e: System.EventArgs);
var topnode:treenode;
theObject:theclass;
begin
theObject:=new theclass;
treeview1.BeginUpdate;
topnode:=treeview1.Nodes.Add('node1');
topnode.Nodes.Add('no data node');
topnode.Nodes.Add('data node').Tag := theObject;
topnode.Expand;
treeview1.EndUpdate;
end;
method MainForm.treeView1_Click(sender: System.Object; e: System.EventArgs);
begin
if treeview1.SelectedNode.Text='data node' then
MessageBox.Show(theClass(Treeview1.SelectedNode.Tag).thestr);
end;
end.
以下是问题的链接。
save text fields to an Array (and pull data from the Array) when using treeview in c#