【发布时间】:2013-11-15 17:29:33
【问题描述】:
我有一个这样的主窗体:
public partial class MainForm : Form
{
string FileName = "";
public MainForm()
{
InitializeComponent();
}
private void goToToolStripMenuItem_Click(object sender, EventArgs e)
{
}
private void menuItem_Click(object sender, EventArgs e)
{
ToolStripMenuItem menuItem = (ToolStripMenuItem ) sender;
switch (menuItem.Name.Replace("ToolStripMenuItem",""))
{
case "new":
MenuItemNew();
break;
case "open" :
MenuItemOpen();
break;
case "save":
MenuItemSave();
break;
case "saveAs" :
MenuItemSaveAs();
break;
case "exit" :
MenuItemExit();
break;
case "selectAll" :
MenuItemSelectAll();
break;
}
}
private void MenuItemSelectAll()
{
textBox.SelectAll();
}
private void MenuItemExit()
{
this.Close();
}
private void MenuItemSaveAs()
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "Text Document |*.txt";
if (sfd.ShowDialog() == DialogResult.OK)
{
StreamWriter writer = new StreamWriter(sfd.FileName);
writer.Write(textBox.Text);
writer.Close();
}
}
private void MenuItemSave()
{
if (FileName == "")
{
MenuItemSaveAs();
}
else
{
StreamWriter writer = new StreamWriter(FileName);
writer.Write(textBox.Text);
writer.Close();
}
}
private void MenuItemOpen()
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "Text Document|*.txt";
if (ofd.ShowDialog() == DialogResult.OK)
{
FileName = ofd.FileName;
StreamReader reader = new StreamReader(ofd.FileName);
textBox.Text = reader.ReadToEnd();
reader.Close();
}
}
private void MenuItemNew()
{
if (textBox.Text == "")
{
textBox.Text = String.Empty;
}
else
this.Show();
Newform sistema=new Newform();
sistema.ShowDialog();
}
}
还有一个像这样的新形式:
public partial class Newform : Form
{
public Newform()
{
InitializeComponent();
}
private void cancel_Click(object sender, EventArgs e)
{
this.Close();
}
private void dontsave_click(object sender, EventArgs e)
{
}
private void save_Click(object sender, EventArgs e)
{
this.Hide();
}
}
当在我的新表单中单击保存时,我需要 MenuItemSaveAs 在我的主表单中打开。
【问题讨论】:
-
你能告诉我有什么问题吗?
-
我认为你应该告诉我和其他人,而不是我 :)
-
@Hogan 但这个问题很基础,不需要在谷歌上搜索,自从我注册 SO 以来,这样的问题已被问过至少几十次 4个月前经常使用SO。 (这是我读过的,不是全部)。
-
@KingKing - 然后您应该单击关闭并使用指向其他地方相同问题的指针标记为重复。对提出问题的人感到讨厌并不是一件好事——想象一下,如果你不知道 SO 并且正在问一个问题。另外,请确保它是一个 dup——例如,安格斯的 dup 指针不是同一个问题。