Доступ к переменным из другой формы окна и передача их в другую программу .exe: - PullRequest
0 голосов
/ 07 февраля 2020

У меня мало знаний по C#, и я уже некоторое время учился. Я хотел бы знать, есть ли другие способы доступа к переменным из другой формы в другой .exe программе .

Прежде чем вы сделаете вывод, что есть другие форумы, связанные с к топи c, да, я сделал поиск в Google и нашел много. Но я не мог найти тот, который близок к тому, что я ищу, или, может быть, я еще не нашел. Поэтому я решил опубликовать здесь, чтобы посмотреть, есть ли какая-нибудь помощь, которую я могу получить, пока я все еще ищу соответствующие решения.

Вот краткое изложение того, что я пытаюсь сделать.

  1. Пользователь введет файл .csv, содержащий данные, путь к файлу будет сохранен в строковой переменной FilePath при нажатии кнопки обзора.

  2. В другой программе ( .exe ), используя C# в качестве я пытаюсь получить доступ к переменной FilePath и использовать ее в программе .exe .

* Короче говоря, я я пытаюсь получить доступ и передать данные, полученные в форме окна и использовать / передать их .exe программе для других целей.

В форме окна строка путь к файлу хранится в FilePath . Таким образом, путь к файлу выглядит примерно так: "C: \ Users \ Students \ Downloads \ Project.csv" .

На рисунке ниже показан пользовательский интерфейс, разработанный в форме.

enter image description here

//Window Form Codes
private string filePath; 

        public string FilePath //<======= stored here
        {
            get { return filePath; }   // get method
            set { filePath = value; }  // set method
        }

//string filePath;
private void Browse_folder_Click(object sender, EventArgs e)
        {
            using (OpenFileDialog get_file_path = new OpenFileDialog())
            {
                if (get_file_path.ShowDialog() == DialogResult.OK)
                {
                    //Get the path of specified file
                    FilePath = get_file_path.FileName;
                    file_loc_text.Text = string.Format("{0}", filePath);                    
                    return;
                }
            }
        }

Теперь я пытаюсь получить доступ FilePath из формы и скопируйте путь файла строки в класс, который наследуется от другой .exe программы , которая также использует язык C#.

//.exe Program Codes
class BrowseFolderTestStep : ABC //<=== ABC is from another .exe program
    {
         Form f = new Form();
         public override void Run()
      {
         StreamReader pathIn = File.OpenText(f.FilePath);
         pathIn.Close();
      }

    }

Из списка наблюдения я могу наблюдать путь к строковому файлу, назначенный FilePath . При попытке получить доступ к FilePath в программе .exe , я получаю "нулевое значение" для FilePath, путь к строковому файлу не передается, в результате чего программа CRA sh. Одно из решений, которое я мог бы придумать, - это сохранить путь к строковому файлу, полученный из Форма окна , в виде текстового файла, файла csv и т. Д. c и получить доступ к пути к файлу из файла в . программа exe . Я хотел бы знать, есть ли другие способы доступа к FilePath , поэтому мне не нужно получать текстовый файл. Я не уверен, смогу ли я получить доступ, если он хранится в потоке памяти.

Ваша помощь приветствуется!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...