c# - 使用以一种形式声明的变量,以另一种形式c#

标签 c# forms

我这里有这个小项目,我在其中声明了一个名为“dir”的变量,其中包含一个在文件夹浏览器对话框中以我名为 main.cs 的形式选择的目录:

namespace XmoSupportTools
{
public partial class Main : Form
{
    public string dir;

    public FolderBrowserDialog xmodialog { get; private set; }
    public DialogResult xmodialogresult { get; private set; }

    //metoder der bliver brugt senere
    public void startxmo()
    {
        string startfile = dir + "\\xmo.exe";
        Process xmoappli = new Process();

        if (File.Exists(startfile))
        {
            xmoappli.StartInfo.FileName = startfile;
            xmoappli.Start();
        }
        else
        {
            MessageBox.Show("XMO.exe blev ikke fundet på den valgte lokation!");
            File.Delete(dir + "\\xmo.ini");
            dialog();
        }

    }

    public void dialog()
    {

        xmodialog = new FolderBrowserDialog();
        xmodialog.Description = "Find dit XMO Directory:";
        xmodialogresult = xmodialog.ShowDialog();
        if (xmodialogresult == DialogResult.OK)
        {
            dir = xmodialog.SelectedPath;

        }

我想在名为 Kunde.cs 的第二种形式中使用该“dir”变量:

public void startxmo()
    {
        string startfile = dir + "\\xmo.exe";
        Process xmoappli = new Process();

        if (File.Exists(startfile))
        {
            xmoappli.StartInfo.FileName = startfile;
            xmoappli.Start();
        }
        else
        {
            MessageBox.Show("XMO.exe blev ikke fundet på den valgte lokation!");
            File.Delete(dir + "\\xmo.ini");
            dialog();
        }

    }

最佳答案

您在哪里创建 Kunde.cs 表单实例?也许您可以通过 kunde.cs 的自定义 custructor 的参数传递 dir;有点像(尽管它是来自稍微不同上下文的代码,但它仍然使用相同的样式。)-

private void button_login(object sender, EventArgs e)
{
   MainMenu ss= new MainMenu(textBox1.Text);
   this.Hide();            
   ss.Show();
}

class MainMenu : Form
{
    // This is an "Auto-Implemented Property".
    // Auto-Implemented Properties are used as a shortcut of what you have done.
    // Google them for more information.
    public string UserName { get; set; }

    private void MainMenu(string userName)
    {
        this.UserName = userName;
    }
}

关于c# - 使用以一种形式声明的变量,以另一种形式c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40419486/

相关文章:

c# - 通过反射调用派生类的方法。可能与否?

c# - 从 GridView 输出数据到 PDF 有编码问题

php - 灯箱上的表格

javascript - 使用 javascript 设置变量并通过表单提交

c# - DataRow 和 protected 内部构造函数

c# - 更改集合中的结构

c# - 如何将对象的构造限制为特权客户端类

javascript - 如何对每个克隆表单使用相同的功能

javascript - php post动态重定向并防止表单重新提交

forms - symfony 3 在电子邮件验证字段中使用 'strict' => true