我想知道如何从另一种方法调用/使用字符串。
public partial class PPAP_Edit : Form
    {
    string Main_dir { get; set; }
    string Sub_dir { get; set; }
    string targetPath { get; set; }...etc,我不想复制所有
private void button_browse_Click(object sender, EventArgs e)
    {
        if (od.ShowDialog() == System.Windows.Forms.DialogResult.OK)
        {
            try
            {
                Main_dir = @"C:\Users\h109536\Documents\PPAP\";
                Sub_dir = text_PSW_ID.Text + "_" + text_Partnumber.Text + "_" + text_Partrev.Text + @"\";
                targetPath = System.IO.Path.Combine(Main_dir, Sub_dir);
                {
                    if (!System.IO.Directory.Exists(targetPath))
                    {
                        System.IO.Directory.CreateDirectory(targetPath);
                        MessageBox.Show("Folder has been created!");
                    }
                    foreach (string fileName in od.FileNames)
                        System.IO.File.Copy(fileName, targetPath + System.IO.Path.GetFileName(fileName), true);
            }
            catch (Exception ex)
            {
                MessageBox.Show("An error has occurred: " + ex.Message);
            }
                    }
private void button_open_Click(object sender, EventArgs e)
    {            
        if (!Directory.Exists(targetPath))
        {
            MessageBox.Show("Folder is not added to the database!");
            System.Diagnostics.Process.Start("explorer.exe", Main_dir);                
        }
        else
        {
            System.Diagnostics.Process.Start("explorer.exe", Main_dir + Sub_dir);
        }                       
    }我正在研究Main_dir、Sub_dir和targetPath字符串,但打开按钮方法在单击浏览按钮之前无法工作。
谢谢你提前提供帮助!
发布于 2016-04-29 22:55:46
从表单的构造函数中设置主目录的默认设置。然后,表单中的任何方法都可以使用它。子路径和目标路径只是函数,可以放在属性getter方法中。
public partial class PPAP_Edit : Form 
{
    // set this from constructor
    public string MainDir { get; set; }
    // can't set this in constructor as it requires access to form controls, but can just use the getter
    public string SubDir
    { 
        get 
        { 
            return text_PSW_ID.Text + "_" + text_Partnumber.Text + "_" + text_Partrev.Text + @"\"; 
        } 
    }
    // again just use the getter
    public string TargetPath 
    {
        get 
        {
            return Path.Combine(MainDir, SubDir);
        }
    }
    // set defaults in constructor 
    public PPAP_Edit()
    {
        MainDir = @"C:\Users\h109536\Documents\PPAP\";
    }
}https://stackoverflow.com/questions/36948368
复制相似问题