Рейтинг:
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, который может задать текст.