Из-за большого кол-ва кода, у меня зависает форма (пишу на winforms). Я решил разбить на потоки, но не получается. Привожу часть кода.
public Form1()
{
InitializeComponent();
textBox1.ScrollBars = ScrollBars.Vertical;
pictureBox1.Image = Image.FromFile(Environment.CurrentDirectory+ "/Images/face.gif");
pictureBox2.Image = Image.FromFile(Environment.CurrentDirectory+ "/Images/sss.gif");
Thread thread1 = new Thread(Encrypt); //именно здесь есть недопонимание
thread1.Priority = ThreadPriority.Highest;
thread1.Start();
}
string Encrypt(string text)
{
StringBuilder binary = new StringBuilder();
for (int i = 0; i < text.Length; i++)
{
binary.Append(Convert.ToString(text[i], 2).PadLeft(8, '0'));
}
return binary.ToString();
}
К слову, я вообще не понимаю, как все правильно сделать. Форма зависает и не двигается. Думал, что из-за гиф форма перегружается, но нет.
Как я понял, не получается использовать эту строку:
Thread thread1 = new Thread(Encrypt);
Из-за типа string в функции Encrypt.
Encrypt потом используется здесь:
public string Venom()
{
return Encrypt(textBox1.Text);
}
public string Papanya()
{ //KEY 2
return Encrypt(textBox3.Text);
}
А потом здесь:
static char GetChar(string Papanya, ref int lastIndex)
{
if (++lastIndex >= Papanya.Length)
lastIndex = 0;
return Papanya[lastIndex];
}
public static string PairConcat(string Encrypt, string venom)
{
StringBuilder result = new StringBuilder();
int index = -1;
for (int i = 0; i < venom.Length; i++)
{
result.Append(venom[i]);
result.Append(GetNextChar(Encrypt, ref index));
}
return result.ToString();
}
Encrypt, и откуда возьмется его параметрtext? – Apr 25 '19 at 16:19VenomиPapanya? Что такие имена дадут понять? А такжеtextBox1,textBox3. – Alexander Petrov Apr 25 '19 at 16:37