Member 14130699 Ответов: 2

Как передать данные из program.cs в форму 1


Итак, у меня есть следующий код:
File.WriteAllText("encrypted password.txt", RSAObj.ToXmlString(true));
в program.cs, но как я могу передать "RSAObj.ToXmlString(true) (зашифрованный пароль) для формирования 1 текстового поля?

Что я уже пробовал:

Исследования и различные коды, я понятия не имею

2 Ответов

Рейтинг:
7

pdoxtader

Вы не можете сделать это напрямую. Лучший способ сделать это-создать публичную функцию в форме 1. Что-то вроде:

public void RSAObj(string value) 
{
   textbox1.text = value;
}


Затем в program.cs сделайте что-то вроде этого:

static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            Form1 form1 = new Form1();
            form1.RSAObj(RSAObj.ToXmlString(true));
            Application.Run(form1);
        }


- Пит


Member 14130699

Привет, твой код работает, но когда я меняюсь "(RSAObj.ToXmlString(true)); to
(RSAObj.Encrypt(myKey, false)); я получаю ошибку. Почему?

Member 14130699

Эй, чувак, вот какие ошибки я получаю : Аргумент 1: не удается преобразовать из 'byte[] в string', а лучший перегруженный метод соответствует Form1.RSAObj(string)' имеет некоторые недопустимые аргументы.

Вы мне очень помогли.

Member 14130699

Я также использую этот код: Byte[] myKey = AES.generateKey();

pdoxtader

Проблема в том, что функция, которую я предоставил, принимает строку, а новая функция, которую вы пытаетесь использовать, возвращает Byte[]. Вам нужно настроить новую функцию, которая принимает Byte [], и написать в ней код для обработки массива байтов.

Рейтинг:
1

Richard MacCutchan

form1.textbox1.Text = RSAObj.ToXmlString(true);

или есть идея получше ...
String encpwd = RSAObj.ToXmlString(true);
File.WriteAllText("encrypted password.txt", encpwd);
form1.textbox1.Text = encpwd;


Member 14130699

Я получаю две ошибки: "Form1.Form1.textBox1" недоступен из-за его уровня защиты, и ссылка на объект требуется для нестатического поля, метода или свойства "Form1.Form1.textBox1"

Пожалуйста, помогите.

Richard MacCutchan

Не пытайтесь использовать статические ссылки на вашу форму. И проверьте уровень защиты текстового поля, оно не должно быть закрытым, если вы хотите это сделать. В качестве альтернативы создайте метод в Form1, который может задать текст.