从另一个窗体打开新的Windows窗体

从人

现在,在任何人将这个问题标记为重复之前,我想说我的问题与其他问题有所不同。我正在尝试从另一个表单中打开一个现有的Form,但是从某种意义上说,我已经设置了一些Forms以“托管”其他Forms(在它们之间传递变量),这是有问题的。这就是我的意思:

 public partial class Schedule_Tasks : Form
{

    readonly Schedules schedules;

    public Schedule_Tasks(Schedules host)
    {
        this.schedules = host;
        InitializeComponent();
    }

因此,在此代码段中,我试图将一些变量的值从Schedules表单中获取到Schedule_Tasks表单中。因此,我使用了“主机”系统。到目前为止,此方法可以正常工作,但是当我尝试从不是“托管”的另一个表单中打开一个特定的表单时,就会出现我的问题。例如使用:

new Schedules().Show();

因此,很明显,当我声明此内容时,我会在Schedules之后的括号中放入“ this”之类的内容,但是如果在“宿主” Form之外调用Form则不起作用。我只想现在有什么我想念的东西或者可以改变吗?请让我知道是否有任何不清楚的地方,这有点难以解释。感谢您的帮助,干杯。

编辑

这是我现在正在使用的代码:

 public partial class Schedual_Tasks : Form
{



    readonly Scheduals scheduals;
    public string selectedDevice;
    public string getPath;
    public string totalPath;


    public Schedual_Tasks(Scheduals host)
    {
        this.scheduals = host;
        InitializeComponent();
        selectedDevice = scheduals.itemSelected;
    }

    private void Schedual_Tasks_Load(object sender, EventArgs e)
    {

    }

    private void changeDirectory_Click(object sender, EventArgs e)
    {
        new Folder_Browser(this).Show(); //Error Occurs here
    }
}

这是Folder_Browser的构造函数,这是我尝试调用的表单:

 readonly Back_up_Options backOptions;
    public string deviceSel;

    public Folder_Browser(Back_up_Options host)
    {
        InitializeComponent();
        this.backOptions = host;
        deviceSel = backOptions.deviceSel;

    }
杰克

您的(Folder_Browser)表单的构造函数声明为

public Folder_Browser(Back_up_Options host)

这意味着您无法将Schedual_Tasks实例作为host参数传递因为无法从Schedual_Tasks对象转换为Back_up_Options对象。编译器检测到此情况并创建错误消息。

如果无法传递host参数,则可以传递null

new Folder_Browser(null).Show();

但是随后您需要确保每次使用成员时检查backOptions成员是否具有null引用例如:

if(backOptions != null)
{
    deviceSel = backOptions.deviceSel;
}
else 
{
    deviceSel = null;
}

反过来,这意味着您deviceSel每次使用null时都需要检查它,依此类推。

当然,完全有可能使用不带“宿主”的表格。如果您的代码需要“主机”,它将失败。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在窗体上方打开另一个窗体后如何关闭窗体

来自分类Dev

如何使从另一个窗体视图打开的窗体视图在odoo中只读

来自分类Dev

如何从另一个仍打开的窗体中检测何时关闭窗体?

来自分类Dev

如何使从另一个窗体视图打开的窗体视图在odoo中只读

来自分类Dev

防止窗体在打开另一个窗体时跨屏幕移动

来自分类Dev

Outlook插件:关闭一个窗体并打开另一个窗体会在另一个窗体之间

来自分类Dev

根据另一个窗体的当前位置设置Windows窗体的屏幕位置

来自分类Dev

如何从另一个窗体调整Windows窗体的大小

来自分类Dev

如何在另一个Windows窗体项目中单击按钮来打开Outlook 2007 Addin项目

来自分类Dev

关闭子窗体,然后单击C#.net中的用户控件中的按钮,打开另一个窗体?

来自分类Dev

在另一个仍然打开的窗体上调用方法?

来自分类Dev

当另一个打开的c#winforms时使窗体不交互式

来自分类Dev

可以单击以打开另一个用户窗体的列表框选择

来自分类Dev

关闭另一个窗体时关闭一个窗体

来自分类Dev

WinForms从另一个窗体引发事件

来自分类Dev

在另一个类的窗体上添加QGraphicsView

来自分类Dev

C#Windows窗体-在没有窗体加载事件的情况下从另一个窗体中获取值

来自分类Dev

使用依赖注入在Windows窗体中打开一个新的参数化窗口

来自分类Dev

从Windows窗体应用程序安装另一个应用程序

来自分类Dev

如何从另一个Windows窗体类重新加载ListView?

来自分类Dev

关闭另一个MDI子窗体后,启用MDI子窗体的TButton

来自分类Dev

如何使用PowerShell关闭主窗体并调用另一个窗体?

来自分类Dev

如何处理另一个窗体的窗体关闭事件(VB.Net)

来自分类Dev

将值从子窗体传递到另一个子窗体

来自分类Dev

从Visual Basic中另一个窗体的按钮清除窗体的标签

来自分类Dev

从另一个子窗体访问子窗体中的控件

来自分类Dev

将对象作为参数从用户窗体传递到另一个用户窗体

来自分类Dev

在 Windows 窗体中由第一个窗体打开的第二个窗体关闭时设置第一个窗体的事件

来自分类Dev

打开一个窗体作为子窗体

Related 相关文章

  1. 1

    在窗体上方打开另一个窗体后如何关闭窗体

  2. 2

    如何使从另一个窗体视图打开的窗体视图在odoo中只读

  3. 3

    如何从另一个仍打开的窗体中检测何时关闭窗体?

  4. 4

    如何使从另一个窗体视图打开的窗体视图在odoo中只读

  5. 5

    防止窗体在打开另一个窗体时跨屏幕移动

  6. 6

    Outlook插件:关闭一个窗体并打开另一个窗体会在另一个窗体之间

  7. 7

    根据另一个窗体的当前位置设置Windows窗体的屏幕位置

  8. 8

    如何从另一个窗体调整Windows窗体的大小

  9. 9

    如何在另一个Windows窗体项目中单击按钮来打开Outlook 2007 Addin项目

  10. 10

    关闭子窗体,然后单击C#.net中的用户控件中的按钮,打开另一个窗体?

  11. 11

    在另一个仍然打开的窗体上调用方法?

  12. 12

    当另一个打开的c#winforms时使窗体不交互式

  13. 13

    可以单击以打开另一个用户窗体的列表框选择

  14. 14

    关闭另一个窗体时关闭一个窗体

  15. 15

    WinForms从另一个窗体引发事件

  16. 16

    在另一个类的窗体上添加QGraphicsView

  17. 17

    C#Windows窗体-在没有窗体加载事件的情况下从另一个窗体中获取值

  18. 18

    使用依赖注入在Windows窗体中打开一个新的参数化窗口

  19. 19

    从Windows窗体应用程序安装另一个应用程序

  20. 20

    如何从另一个Windows窗体类重新加载ListView?

  21. 21

    关闭另一个MDI子窗体后,启用MDI子窗体的TButton

  22. 22

    如何使用PowerShell关闭主窗体并调用另一个窗体?

  23. 23

    如何处理另一个窗体的窗体关闭事件(VB.Net)

  24. 24

    将值从子窗体传递到另一个子窗体

  25. 25

    从Visual Basic中另一个窗体的按钮清除窗体的标签

  26. 26

    从另一个子窗体访问子窗体中的控件

  27. 27

    将对象作为参数从用户窗体传递到另一个用户窗体

  28. 28

    在 Windows 窗体中由第一个窗体打开的第二个窗体关闭时设置第一个窗体的事件

  29. 29

    打开一个窗体作为子窗体

热门标签

归档