C#在另一种形式上使用方法

时间:2015-03-10 16:07:16

标签: c# .net winforms visual-studio

在我的Windows C#应用程序的主窗体上,我有这个方法:

        public void uploadNew(String newName, String filePath)
    {
        //Make sure file doesn't exist, then continue
        if (!File.Exists(basePath + POnumber + newName))
        {
            File.Copy(filePath, basePath + POnumber + newName);
            LogSubmit("Added New File " + newName);
            listFiles();
        }
        else
        {
            //The file already exists
                        }
    }

代码的含义确实无关紧要。这就是我想要做的。我需要一个带有一些选项的文件上传表单的新表单。我需要的是将两个变量发送回主窗体以插入该方法。

操作本质上就是这个。

主要表格 - >点击按钮 - >表格2 - >操作 - >将变量发送回uploadNew - >关闭表格2

1 个答案:

答案 0 :(得分:0)

我认为你想要的是一个对话框。基本上,你可以在MainForm中做这样的事情:

using(var form = new Form2())
{
    if(form.ShowDialog() == DialogResult.Ok)
    {
        // Newname and Filepapth are properties you set in the Form2
        uploadNew(form.NewName, form.Filepath);
    }
}

在Form2中,您可能会有一个Ok,Cancel Button。对于Ok Button事件,您可以设置 this.DialogResult = DialogResult.Ok 。在取消事件上,您可以将其设置为其他内容。

这是我的头脑,所以有些事情可能会关闭,但概念是一样的。

另外,最好将UploadFile移动到新类,这样就不会将业务逻辑绑定到UI逻辑中。

此处有一个更完整的示例:How to return a value from a Form in C#?