我对编程很陌生,所以我会问我如何根据对象文本声明字符串的值。
所以基于我的界面的title.Text。我将确定字符串值。这是我试过的代码:
public Mainmenu()
{
InitializeComponent();
initializeOffice();
}
public string office;
public void initializeOffice()
{
if (officeName.Text == "Accounting Office")
{
office = "Accounting";
} else if (officeName.Text == "Registrar's Office")
{
office = "Registrar";
}
我使用office字符串作为变量来确定我的文件夹路径,因为Accounting和Registrar Offices都有不同的目录。例如:
using (StreamWriter objWriter = File.AppendText("C:Desktop\\" + office + "\\Finished\\" + ticketNumber.Text +".txt"))
任何人都可以帮助我吗?字符串办公室似乎总是显示"会计"即使办公室文本已经不同,也要有价值。
其他:
if (chooseService.Text == "")
{
MessageBox.Show("Please specify the department.");
}
else
{
this.Hide();
Mainmenu login = new Mainmenu();
login.Show();
login.officeName.Text = chooseService.Text;
}
这是我的officeName的内容被提取的地方。 chooseService对象是一个comboBox,可以选择不同的办公室。
答案 0 :(得分:1)
所以这里的问题是你MainMenu表单在设置字符串之前初始化标题,它将用来确定应该设置什么'office'。
试试这个:
if (string.IsNullOrEmpty(chooseService.Text))
MessageBox.Show("Please specify the department.");
else
{
this.Hide();
MainMenu login = new MainMenu(chooseService.Text);
login.Show();
}
然后像这样修改您的MainMenu表单:
public Mainmenu(string department)
{
InitializeComponent();
initializeOffice(department);
}
public string office;
public void initializeOffice(string department)
{
if (department == "Accounting Office")
{
office = "Accounting";
} else if (department == "Registrar's Office")
{
office = "Registrar";
}
这将保证您的主菜单类具有显示正确值所需的信息(或用于设置路径)。您还可以将标题的初始化移出MainMenu类的构造函数,并使用chooseService.Text中的字符串值调用initailiszeOffice,或者将工作bvut我更喜欢提供的代码。 Neater IMO。