delphi 如何将form2的值传递form1

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi 如何将form2的值传递form1相关的知识,希望对你有一定的参考价值。

方法很多,比如以下几种:
1、定义全局变量,将FORM2的值写入全局变量,然后FORM1读取。
2、新建一个单元(比如新建一个PUBLIC),用于存储这些变量。
3、在FORM2中use FORM1单元,将FORM2中需要传递的数据直接赋值到FORM1中。
等等。。。

个人推荐使用第二种,这样方便查找,而且以后如果需要修改某些数据,只需要改极少数地方就可以了,不用全部代码都进行修改。而且,最主要的是,可以把一些经常要使用的方法和类写到这个单元,这样今后扩展就很方便。
参考技术A 在form1中uses form2.pas,就可以直接引用了。 参考技术B form1.tag:=form2.tag

如何从视图将值传递给 Django Form init 方法?

【中文标题】如何从视图将值传递给 Django Form init 方法?【英文标题】:How can I pass a value to Django Form's init method from a view? 【发布时间】:2015-03-28 01:42:35 【问题描述】:

forms.py

class AddDuration(forms.Form):

    def __init__(self, *args, **kwargs): 
        super(AddDuration, self).__init__(*args, **kwargs)
        // set value to relates_to_choices
        relates_to_choices = ????????????? // Something like self.choices
        self.fields['duration'].choices = relates_to_choices

    duration = forms.ChoiceField(required=True)

现在,我有一个包含类的 views.py 文件

class AddDurationView(FormView):
    template_name = 'physician/add_duration.html'
    form_class = AddDurationForm

【问题讨论】:

【参考方案1】:

覆盖视图上的get_form_kwargs() 方法。

views.py

class AddDurationView(FormView):
    template_name = 'physician/add_duration.html'
    form_class = AddDurationForm

    def get_form_kwargs(self):
        kwargs = super(AddDurationView, self).get_form_kwargs()
        kwargs['duration_choices'] = (
            ('key1', 'display value 1'),
            ('key2', 'display value 2'),
        )
        return kwargs

forms.py

class AddDurationForm(forms.Form):
    duration = forms.ChoiceField(required=True)

    def __init__(self, duration_choices, *args, **kwargs): 
        super(AddDurationForm, self).__init__(*args, **kwargs)
        // set value to duration_choices
        self.fields['duration'].choices = duration_choices

【讨论】:

以上是关于delphi 如何将form2的值传递form1的主要内容,如果未能解决你的问题,请参考以下文章

delphi 如何在两个窗体间切换

Delphi在Form1中通过一个按钮动态创建窗体Form2 怎么做

Delphi7中实现单击Form1中的按钮,弹出Form2并进行Form2中的下一步操作?!

菜鸟求助:c#三个窗体间传递数值

Delphi:如何在公共函数中使用 ComponentCount?

DELPHI中如何调用FROM