C#多窗体和菜单工具栏

多窗体:

1、哪个是主窗体

问题:主窗体隐藏了,关闭其它窗体后,没有将主窗体显示/关闭,那么程序就关不上了

  (1)、构造函数传值,将窗体传到另一个窗体中去

2、窗体只能打开一个

创建一个全局的泛型集合,为了放置全部打开的窗体

  (1)、在窗体打开之前,判断集合中是否有name一致的窗体,如果有就说明已经打开了,就不要再打开了

  问题:当窗体打开了,关闭后,就无法再次打开了

   办法:当窗体关闭时,清除Form1中集合中的此窗体对象记录

   问题:当窗体已经打开,再次点击打开按钮,不会将已打开的窗体重新显示并焦点进入

  办法:  找到已打开对象,将WindowState属性设置为:  找到已打开窗体的对象,使用Focus方法;

3、窗体之间的传值和控制

  传值:构造函数传值

  控制:第一步,找到窗体对象,第二步,将窗体对象的控件值更改   注意:要将窗体中的对象访问权限修改

4、提示框类型的窗体

ShowDialog();

作用:



菜单和工具栏:

1、MenuStrip: 顶部菜单 分割线:1、-  2、右键插入 split。。。

快捷键:每一个项右键属性的最下面可以设置快捷键 不管选项隐藏还是菜单隐藏,快捷键都管用

2、ContextMenuStrip: 右键菜单

3、StatusStript: 底部菜单

4、ToolStrip 工具条

5、ToolStripContainer 工具条容器

时间: 2024-10-25 01:16:02

C#多窗体和菜单工具栏的相关文章

多窗体,菜单工具栏

多窗体 主窗体不关程序无法退出. 主要有4点 1.哪个是主窗体 Form2 f2 = new Form2(); f2.Show(); this.Hide(): 打开form2窗口,隐藏form1窗口 问题:主窗体隐藏了,关闭其它窗体后,没有将主窗体显示/关闭,那么程序就关不上了 构造函数传值,将窗体传到另一个窗体中去 2. 2.窗体只能打开一个 创建一个全局的泛型集合,为了放置全部打开的窗体1.在窗体打开之前,判断集合中是否有name一致的窗体,如果有就说明已经打开了,就不要再打开了 bool

顶部可以折叠的菜单工具栏

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>可以折叠的菜单工具栏</title>

WinForm 多窗体、菜单和工具栏

今天,我首先先学习了一下在WinForm程序开发中常遇到的问题——多窗体程序运行问题. 在开发多窗体程序时,常会遇到以下四个方面的问题: 一.哪个是主窗体 问题:主窗体隐藏了,关闭其它窗体后,没有将主窗体显示/关闭,那么程序就关不上了. 当遇到这个问题时,我们通常的解决办法是:构造函数传值,将窗体传到另一个窗体中去,进行关闭. 二.窗体只能打开一个 创建一个全局的泛型集合,为了放置全部打开的窗体.在窗体打开之前,判断集合中是否有name一致的窗体,如果有就说明已经打开了,就不要再打开了. 问题:

C# 子窗体最大化后Icon与MDI窗体的菜单合拼的问题

C#子窗体最大化时, 那个图标跑到主窗体的前面去了, 造成界面不统一也不美观. 所以需要进行处理, 只要有主窗体的menuStrip1(菜单)控件的ItemAdded事件中加进下面代码: if (e.Item.Text.Length == 0 || e.Item.Text == "还原(&R)" || e.Item.Text == "最小化(&N)") {     e.Item.Visible = false;}

Pyqt4学习笔记-菜单工具栏

显示状态栏: #!/usr/bin/python # -*- coding: utf-8 -*- import sys from PyQt4 import QtGui, QtCore class MainWindow(QtGui.QMainWindow): def __init__(self): QtGui.QMainWindow.__init__(self) self.resize(250, 150) self.setWindowTitle('Mainwindow') self.statusB

在插件式应用程序中,实现对菜单,工具栏按钮的 完全解耦及状态控制

之前承诺会对 Winform IDE,WPF 客服程序的开发进行进一步的分解记录,很抱歉一直没有太多时间认真梳理. 本篇博客抽取了这两个应用程序的一个共通功能的实现方法进行说明,即在插件式应用程序中,对菜单及工具栏的控制. 对于复杂的应用程序开发,我们可能会将程序的功能进行分解,模块化,插件化:那么如何在应用程序的宿主中,向插件提供统一的菜单,工具栏注册,更新,销毁机制呢?以及如何做到UI无关的彻底解耦合? 看两个例子: 基于 Winform 的插件式应用程序: http://www.cnblo

WIndowsForm 公共控件 菜单和工具栏

                                                  公共控件   菜单栏 状态栏   布局    公共控件 textbox:  text属性:用于获取或设置文本框的文本 一般情况下,几乎所有的控件里的属性,都具备获取或设置两个功能 passwordchar:替换字符实现密码隐藏的效果 comboBox:  属性SelectedIndex = 0; 用于获取或设置选中项的索引 selectedText:获取或设置选中项的文本 selectedItem

xtraTabbedMdiManager的标题上右鍵弹出关闭窗体菜单

实现一个增值功能, 在xtraTabbedMdiManager组件TabPage标题上右鍵弹出关闭当前窗体的菜单. C# Code:private void xtraTabbedMdiManager1_MouseUp(object sender, MouseEventArgs e){   //点左键无效, 必须是点右键弹出菜单   if (e.Button != MouseButtons.Right) return;      BaseTabHitInfo hint = xtraTabbedMd

父窗体与子窗体的右键菜单合并(子窗体最大化后)

1 private void 打开子窗体ToolStripMenuItem_Click(object sender, EventArgs e) 2 { 3 Form2 f = new Form2();//创建窗体对象 4 f.MdiParent = this;//设置父窗体属性 5 f.Show();//显示窗体 6 f.Resize += //为窗体添加事件 7 new EventHandler(f_Resize); 8 } 9 10 void f_Resize(object sender,