delegate void SetTextBoxTextDelegate(string text);
private void SetTextBox2Text(string text)
{
if (InvokeRequired)
{
Invoke((SetTextBoxTextDelegate)SetTextBox2Text, text);
return;
}
textBox2.Text = text;
}
private void BackgroundSortingByBubble(object initialTextObj)
{
string initialText = (string)initialTextObj;
string[] StringArray = initialText.Split(' ');
int[] MembersOfArray = new int[StringArray.Length];
for (int i = 0; i < MembersOfArray.Length; i++)
MembersOfArray[i] = Convert.ToInt32(StringArray[i]);
MembersOfArray = Bubble.bubble(MembersOfArray, 4);
StringBuilder buffer = new StringBuilder(initialText.Length+1);
for (int i = 0; i < MembersOfArray.Length; i++)
{
buffer.AppendFormat("{0} ", MembersOfArray[i]);
SetTextBox2Text(buffer.ToString());
Thread.Sleep(1000);
}
}
private void SortingByBubble(object sender, EventArgs e)
{
ThreadPool.QueueUserWorkItem(BackgroundSortingByBubble, textBox1.Text);
}