winfom的有关问题求各位大大们来看看
winfom的问题求各位大大们来看看
第一个问题....相同的窗体如何只能new一个....目前我用的是showdialog的方法....但是很不实用.
第二个问题....由于使用了showdialog的方法...所以每次打开子窗体候,主窗口都在后面,很难看...
本来想hide掉主窗体....但是hide后怎么显示呢?难道再new一个吗?????
------解决方案--------------------
不太明白,有关第二个问题:
------解决方案--------------------
这个意思是在任务栏里通过通知图标再显示主窗体,
其实你hide主窗体后,在关闭新窗体时,再显示主窗体
------解决方案--------------------
第一个问题:可以考虑用单例,自行百度
第二个问题:
------解决方案--------------------
private void ShowFormInRightPanel(Form form)
{
form.TopLevel = false;
this.panel2.Controls.Clear();
this.panel2 .Controls.Add(form);
form.Dock = DockStyle.Fill;
form.Show();
}
在panel中显示
第一个问题....相同的窗体如何只能new一个....目前我用的是showdialog的方法....但是很不实用.
第二个问题....由于使用了showdialog的方法...所以每次打开子窗体候,主窗口都在后面,很难看...
本来想hide掉主窗体....但是hide后怎么显示呢?难道再new一个吗?????
------解决方案--------------------
不太明白,有关第二个问题:
NotifyIcon 通知栏图标 = new NotifyIcon();
void 通知栏图标_MouseClick(object sender, MouseEventArgs e)
{
this.ShowInTaskbar = true;
this.Show();
this.WindowState = FormWindowState.Normal;
this.Activate();
}
private void 记事历_Deactivate(object sender, EventArgs e)
{ 通知栏气泡(); }
private void 记事历_SizeChanged(object sender, EventArgs e)
{ 通知栏气泡(); }
void 通知栏气泡()
{
if (this.WindowState == FormWindowState.Minimized)
{
this.ShowInTaskbar = false;
通知栏图标.BalloonTipText = "最小化到托盘,重新打开请单击这里。";
通知栏图标.BalloonTipTitle = this.Text;
通知栏图标.ShowBalloonTip(1000);
}
}
------解决方案--------------------
这个意思是在任务栏里通过通知图标再显示主窗体,
其实你hide主窗体后,在关闭新窗体时,再显示主窗体
------解决方案--------------------
第一个问题:可以考虑用单例,自行百度
第二个问题:
//父窗体
SonForm form = new SonForm(this);
form.ShowDialog();
//子窗体
private Form form;
public SonForm(Form form)
{
InitializeComponent();
this.form = form;
form.Hide();
}
private void SonForm_FormClosed(object sender, FormClosedEventArgs e)
{
form.Show();
}
------解决方案--------------------
private void ShowFormInRightPanel(Form form)
{
form.TopLevel = false;
this.panel2.Controls.Clear();
this.panel2 .Controls.Add(form);
form.Dock = DockStyle.Fill;
form.Show();
}
在panel中显示