子窗口中TCOMBOBOX赋值的有关问题
子窗口中TCOMBOBOX赋值的问题
请教诸位:在主窗口中有一个TCOMBOBOX类型的下拉列表,由函数动态赋值,由于在弹出的子窗口(高级设置一类的)中也需要这样的一个下拉列表,所以想把主窗口的下拉列表数据传递过去,试了一下TSTRINGLIST,没有成功。在下新手,实在理不出头绪了,还望各位高手不吝赐教。
------解决思路----------------------
把你想贡献的对象放到专门的共享单元
------解决思路----------------------
TStringlist可以的,它的items就是个list,直接assign它就行了
------解决思路----------------------
Text属性也行
ComboBox2.Items.Text:=ComboBox1.Items.Text;
------解决思路----------------------
1、在主、子窗体分别加入对方单元文件
uses unit1;
uses unit2;
2、在子窗体通过按钮事件,或定时事件读入主窗体的combobox的列表值;
3、或者在主窗体通过通过按钮事件,或定时事件向子窗体的combobox传列表值;
------解决思路----------------------
stringlist 定义在公共的单元中, 在主窗口和子窗口引用该单元;
主窗口函数每次动态赋值后, stringlist 和 combobox 都重新赋值次;
如果子窗口显示时, 主窗口值也可能改变, 则可以通过自定义事件或者消息来通知子窗口。
如果子窗口从显示出来到隐藏期间, 赋值不会改变, 那则只需要在onshow 事件中刷新子窗体 combobox 就OK了
请教诸位:在主窗口中有一个TCOMBOBOX类型的下拉列表,由函数动态赋值,由于在弹出的子窗口(高级设置一类的)中也需要这样的一个下拉列表,所以想把主窗口的下拉列表数据传递过去,试了一下TSTRINGLIST,没有成功。在下新手,实在理不出头绪了,还望各位高手不吝赐教。
------解决思路----------------------
把你想贡献的对象放到专门的共享单元
------解决思路----------------------
TStringlist可以的,它的items就是个list,直接assign它就行了
var
items:TStringList;
begin
items := TStringList.Create;
items.Add('a');
items.Add('a');
items.Add('a');
items.Add('a');
ComboBox1.Items.Assign(items);
end;
------解决思路----------------------
Text属性也行
ComboBox2.Items.Text:=ComboBox1.Items.Text;
------解决思路----------------------
1、在主、子窗体分别加入对方单元文件
uses unit1;
uses unit2;
2、在子窗体通过按钮事件,或定时事件读入主窗体的combobox的列表值;
procedure TForm2.Button1Click(Sender: TObject);
begin
Combobox1.Items.Assign(Form1.ComboBox1.Items);
end;
3、或者在主窗体通过通过按钮事件,或定时事件向子窗体的combobox传列表值;
procedure TForm1.Button3Click(Sender: TObject);
begin
Form2.Combobox1.Items.Assign(ComboBox1.Items);
end;
------解决思路----------------------
stringlist 定义在公共的单元中, 在主窗口和子窗口引用该单元;
主窗口函数每次动态赋值后, stringlist 和 combobox 都重新赋值次;
如果子窗口显示时, 主窗口值也可能改变, 则可以通过自定义事件或者消息来通知子窗口。
如果子窗口从显示出来到隐藏期间, 赋值不会改变, 那则只需要在onshow 事件中刷新子窗体 combobox 就OK了