字符串数组方式适用于数据少的情况

1.方法一:
过程描述:
系统设置流程.jpg

#region 窗口传递textbox及checkbox的值,并保存起来
static string str;
public string GetMessage(Control con)//textbox获取信息
{
try
{
if (con is TextBox && con.Text != null)
{
str = con.Text.ToString();
}
else
{
str = “0”;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
return str;
}

public string[] conSet = new string[7];
private void button1_Click(object sender, EventArgs e)
{
Form1 form1 = (Form1)this.Owner;
conSet[0] = GetMessage(textBox1);
conSet[1] = GetMessage(textBox2);
conSet[2] = GetMessage(textBox3);
if (checkBox1.Checked == true)
{
conSet[3] = “1”;
}
else
{
conSet[3] = “0”;
}
conSet[4] = GetMessage(textBox5);
conSet[5] = GetMessage(textBox6);
conSet[6] = GetMessage(textBox4);
int staW = Convert.ToInt16(conSet[0]);
int axis_x = Convert.ToInt16(conSet[4]);
int staH = Convert.ToInt16(conSet[1]);
int axis_y = Convert.ToInt16(conSet[5]);
if ((staW >= axis_x) && (staH >= axis_y))
{
form1.GetMessage(conSet);
this.Close();
}
else
{ MessageBox.Show(“输入错误,请重新输入!”); }
}
///


/// 初始化设置界面的初值问题
/// 默认站场宽2000,高1500
/// 栅格间距50
/// 显示栅格为true
/// x坐标间隔为50
/// y间隔为60
/// 最小移动距离为
///

///

public void IniSysSet(string[] str)
{
try
{
if (str != null && str.Length == 7)
{
textBox1.Text = str[0];
textBox2.Text = str[1];
textBox3.Text = str[2];
textBox4.Text = str[6];
textBox5.Text = str[4];
textBox6.Text = str[5];
if (str[3] == “1”)
{
checkBox1.Checked = true;
}
else
{
checkBox1.Checked = false;
}
}
else
{
textBox1.Text = “2000”;
textBox2.Text = “1500”;
textBox3.Text = “50”;
checkBox1.Checked = true;
textBox4.Text = “5”;
textBox5.Text = “50”;
textBox6.Text = “60”;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
#endregion

region 系统设置窗体内的设置数据的初始化及控制

///
/// 利用temp接收设置的数据,SysSetText_value表示返还设置给form2窗体的新值。
/// 第一次SysSetText_value是null所以SysSet.IniSysSet执行str为null的情况即设置初值,
/// 按钮执行将conset的值(form2.GetMessage方法得到控件初值)给SysSetText_value,
/// 之后form1.GetMessage将执行判断conset[]赋值于SysSetText_value,下一次SysSetText_value即不为null,可以进行判断
///

static string[] SysSetText_value;
private void 设置ToolStripMenuItem_Click(object sender, EventArgs e)
{
SysSetting SysSet = new SysSetting();
SysSet.IniSysSet(SysSetText_value);//如果SysSetText_value没有改变,继续显示设定的初始值;改变了就重新设置控件的属性
SysSet.ShowDialog(this);//传值窗口
}

public void GetMessage(string[] str)//form1得到form2的控件值,并且改变画布的相应设置
{
try
{
string[] temp = new string[str.Length];//生成一个保存初始值的temp
if (SysSetText_value != null && SysSetText_value.Length > 0)//如果打开设置窗体,窗体文本框的值不是空的或者
{
temp = SysSetText_value;
}
SysSetText_value = new string[str.Length];
SysSetText_value = str;//获取conset[]的长度和值
if (str == temp)//相等就不变
{
return;
}
else//不等就重新绘制
{
pic_width = Convert.ToInt32(str[0]);
pic_height = Convert.ToInt32(str[1]);
grid = Convert.ToInt32(str[2]);
grid_visiable = Convert.ToInt32(str[3]);
axis_x = Convert.ToInt32(str[4]);
axis_y = Convert.ToInt32(str[5]);
flash = true;
pictureBox2.Refresh();
}
MessageBox.Show(“设置完成”);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
#endregion