c# window窗口
代码功能
一、隐藏当前窗口
this.Hide();//隐藏当前窗口
二、调用计算机自带
System.Diagnostics.Process.Start("calc.exe");//调用自带计算器
System.Diagnostics.Process.Start("notepad.exe");//调用自带记事本
三、窗口名称
this.Text ="点/加菜";
四、显示调用窗口
showdialog()与show的区别
显示 窗口:
frmMain main = new frmMain(); 1)main.Show();
2) main.showdialog();
showdialog就是显示有模式的窗体,showdialog后面的语句不会执行,直到显示的窗体被关闭。show就是无模式的窗体,显示窗体后不论窗体是否关闭都执行show后面的语句。
面对多窗口的调用的时候,我们往往不喜欢窗口之间的随意切换,那样我们还有花费时间寻找我们要用的窗口,而且,一但出现问题,窗口的顺序也有可能被再次打乱,很是不顺手,那么我们怎么办呢? 我们可以将show方法转化为showdialog方法,顾名思义,showdialog是一个进行路经绑定的show方法,他是不可以自由切换的,换言之,就是,当你没有关闭你当前页的前提下,你是无法关闭该页面后面的任一页面的,它是当前唯一(路经打开)为true的。 而show方法由于未进行绑定,它所显示的各个窗口、对话框是可以相互切换,而不需要关闭当前窗口、对话框。但是他由于未进行绑定,所以每个由show方法打开的窗口的顺序是非固定的,如果遇到什么问题,由show方法打开的窗口的顺序可能会有很大的改变!
show()仅仅是显示出来窗口界面而已,也就是和你执行的结果在同一窗口显示,所显示的窗口可以在后台运行,而showDialog()是一个对话框窗口界面,执行结果以新窗口界面出现,不允许进行后台运行,就是你想编辑什么的时候,非得先关闭showDialog()窗口界面才可以进行其他操作.
show()是非模式窗体. showDialog()是模式窗体. 区别在于,以showDialog()打开的窗体,要等窗体关闭后才能操作其他窗体.而show()则不受此限制.
这是最经常的区别了, 还有一个我个人使用的心得,你可以了解
比如你先打开子窗体,想隐藏主窗体。 如果这个时候用Show的话,则会发生的事情是,打开子窗体的同时主窗体又显示出来,而使用ShowDialog()的时候主要当子窗体关闭的时候主窗体才会显示。
举个简单的例子,代码如下:
Form2 f2 = new Form2();
this.Visible = false;
f2.ShowDialog();
this.Visible= true;
这就是模态对话框的与Show的区别。
设置窗口标签
FrmLogin.Tag = 1;//将登录窗体的Tag属性设为1,表示调用的是登录窗体
四、c#的owner的使用方法
获取或设置拥有此窗体的窗体。
Form,表示作为此窗体的所有者的窗体。
若要使某窗体归另一个窗体所有,请为其 Owner 属性分配一个对将成为所有者的窗体的引用。
当一个窗体归另一窗体所有时,它便随着所有者窗体最小化和关闭。例如,如果 Form2 归窗体 Form1 所有,则关闭或最小化 Form1 时,Form2 也会关闭或最小化。并且附属窗体从不显示在其所有者窗体后面。可以将附属窗体用于查找和替换窗口之类的窗口,当选定所有者窗体时,这些窗口不应消失。
在form1中使用form2Form2 childForm = new Form2 ();//this指向主窗口childForm .Owner = this; --当前myForm1 .Show();
form2中
Form1 myForm1 ;myForm1 = (Form1)this.Owner;
锁定系统
frmLock locksystem = new frmLock();
locksystem.Owner = this;//frmLock窗体归main主窗体
locksystem.ShowDialog();
五、C#中,Application.Exit和Close有什么不同
Application.Exit会关闭所有窗口并退出程序,Close只是关闭当前窗口,如果当前窗口是Application.Run()方法里面传入的窗口,那么程序也会退出,如果不是Application.Run()方法里面传入的窗口,那么程序是不会退出的。
//退出系统
private void 退出系统ToolStripMenuItem1_Click(object sender, EventArgs e)
{
if (MessageBox.Show("确定退出本系统吗?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation) == DialogResult.OK)
{
Application.Exit();
}
}
六、窗体事件
private void From_Load(object sender, EventArgs e); //窗体加载时
private void From_Activated(object sender, EventArgs e);//窗体激活时
七、属性
1)设置窗体边框可以通过设置窗体的FormBorderStyle属性设置。属性值可以通过枚举类型FormBorderStyle获取,它的取值和意义如下表所示。
属性 | 值 | 意义 |
FormBorderStyle.None | 0 | 无边框 |
FormBorderStyle.FixedSingle | 1 | 固定的单行边框 |
FormBorderStyle.Fixed3D | 2 | 固定的三维样式边框 |
FormBorderStyle.FixedDialog | 3 | 固定的对话框样式的粗边框 |
FormBorderStyle.Sizable | 4 | 可调整大小的边框 |
FormBorderStyle.FixedToolWindow | 5 | 不可调整大小的工具窗口边框 |
FormBorderStyle.SizableToolWindow | 6 | 可调整大小的工具窗口边框 |
自带方法
1
//
// 摘要:
// 获取或设置包含有关控件的数据的对象。
//
// 返回结果:
// 一个 System.Object,它包含有关控件的数据。默认为 null。
[Bindable(true)]
[DefaultValue(null)]
[Localizable(false)]
[SRCategoryAttribute("CatData")]
[SRDescriptionAttribute("ControlTagDescr")]
[TypeConverter(typeof(StringConverter))]
public object Tag { get; set; }
//
// 摘要:
// 将窗体显示为模式对话框。
//
// 返回结果:
// System.Windows.Forms.DialogResult 值之一。
//
// 异常:
// T:System.InvalidOperationException:
// 正在显示的窗体已经可见。 - 或 - 正在显示的窗体处于禁用状态。 - 或 - 正在显示的窗体不是顶级窗口。 - 或 - 窗体显示为对话框中已有模式窗体。
// - 或 - 当前进程不在用户交互模式下运行 (有关详细信息,请参阅 System.Windows.Forms.SystemInformation.UserInteractive)。
public DialogResult ShowDialog();
、 //
// 摘要:
// 释放由 System.ComponentModel.Component 使用的所有资源。
public void Dispose();
七、窗口最大化,最小化
private void button1_Click(object sender, EventArgs e)
{
this.WindowState = FormWindowState.Maximized;
this.notifyIcon1.Visible = true;
} private void button2_Click(object sender, EventArgs e)
{
this.WindowState = FormWindowState.Minimized;
this.notifyIcon1.Visible = true;
}
private void button3_Click(object sender, MouseEventArgs e)
{
this.WindowState = FormWindowState.Normal;
this.Visible = true;
}
this.MaximizeBox = false;最大化按钮不可用
2)窗口屏幕最大化整个屏幕
this.TopMost = true;
this.FormBorderStyle = FormBorderStyle.None;
this.WindowState = FormWindowState.Maximized;
3)窗口屏幕最大化,不占用状态栏
this.Top = ;
this.Left = ;
this.FormBorderStyle = FormBorderStyle.None;
this.Size = Screen.PrimaryScreen.WorkingArea.Size;
Form.StartPosition属性,确定窗体第一次出现时的位置。这里设置为在父窗体的中间显示。 this.StartPosition = FormStartPosition.CenterParent;
Form.HelpButton属性,确定窗体的标题栏上是否有“帮助”按钮。设置显示,看上去更人性化,但实际不一定会对帮助功能进行实现。Form.HelpButton属性,确定窗体的标题栏上是否有“帮助”按钮。设置显示,看上去更人性化,但实际不一定会对帮助功能进行实现。
Form.MaximizeBox属性,确定窗体标题栏的右上角是否有最大化框。设置不让她显示。 this.MaximizeBox = false;
Form.MinimizeBox属性,确定窗体标题栏的右上角是否有最小化框。设置不让他显示。 this.MinimizeBox = false;
Form.ShowIcon属性,指示是否在窗体的标题栏中显示图标。设置不显示。 this.ShowIcon = false;
Form.ShowInTaskbar属性,确定窗体是否出现在Windows任务栏中。这个当然要节省任务栏的宝贵空间。
this.ShowInTaskbar = false;
Form.FormBorderStyle属性,指示窗体的边框和标题栏的外观和行为。设置这个属性将不允许拖动调整窗体的大小,同时Icon属性将失效,并不显示窗体标题栏图片。
this.FormBorderStyle = FormBorderStyle.FixedDialog;
隐藏禁用三个按钮
this.ControlBox=false
至于关闭按钮,C#窗体编程中,并没有单独一个属性来按钮它。
这三个按钮是一组ControlBox,将this.ControlBox=false 即可同时禁用这三个按钮。一旦这三个按钮都被禁用了,那就都不显示了。
所以,关闭按钮被禁用了,这个窗口就无法通过系统自带的功能来关闭。必须要再写一个关闭的功能用来关闭它。
c# window窗口的更多相关文章
- [转载]ExtJs4 笔记(9) Ext.Panel 面板控件、 Ext.window.Window 窗口控件、 Ext.container.Viewport 布局控件
作者:李盼(Lipan)出处:[Lipan] (http://www.cnblogs.com/lipan/)版权声明:本文的版权归作者与博客园共有.转载时须注明本文的详细链接,否则作者将保留追究其法律 ...
- JavaScript:window窗口对象
在JavaScript中,window表示的就是一个窗口对象.所以在整个处理过程之中,所有的操作都是以弹框为主 的.范例1:使用警告框 <script type="text/javas ...
- (转载)JavaScript中的Window窗口对象
(转载)http://www.ijavascript.cn/jiaocheng/javascript-window-65.html 例子: <html> <head> < ...
- ExtJs4 笔记(9) Ext.Panel 面板控件、 Ext.window.Window 窗口控件、 Ext.container.Viewport 布局控件
本篇讲解三个容器类控件. 一.面板控件 Ext.Panel 一个面板控件包括几个部分,有标题栏.工具栏.正文.按钮区.标题栏位于最上面,工具栏可以在四个位置放置,围绕中间部分正文,按钮区位于最小方.下 ...
- python 利用tkinter模块设计出window窗口(搞笑版)
代码如下 from tkinter import * import tkinter from tkinter import messagebox #定义了一个函数,当关闭window窗口时将会弹出一个 ...
- easyUi弹出window窗口传值与调用父页面的方法,子页面给父页面赋值
<!-- 父页面 --> <!DOCTYPE html PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN" "ht ...
- 窗口-EasyUI Window 窗口、EasyUI Dialog 对话框、EasyUI Messager 消息框
EasyUI Window 窗口 扩展自 $.fn.panel.defaults.通过 $.fn.window.defaults 重写默认的 defaults. 窗口(window)是一个浮动的.可拖 ...
- Window窗口布局 --- DecorView浅析
开发中,通常都是在onCreate()中调用setContentView(R.layout.custom_layout)来实现想要的页面布局,我们知道,页面都是依附在窗口之上的,而DecorView即 ...
- easyui window窗口 随body的滚动条 滚动
问题描述: 当easyui window窗口弹出的时候,依然可以滚动body 的滚动条,而且window窗口也会随它一起滚动 思路:bootstrap 模态框弹出的时候,给body 添加了 .moda ...
- Window 窗口类
窗口类 WNDCLASS 总结 总结为下面的几个问题: . 什么是窗口类 . 窗口类的三种类型 . 窗口类各字段含义 . 窗口类的注册和注销 . 如何使用窗口类,子类化.超类化是什么 下面分别描述: ...
随机推荐
- Atitit。团队建设--管理最佳实践--如何留住核心人才,防止人才流失 ??
Atitit.团队建设--管理最佳实践--如何留住核心人才,防止人才流失 ?? 1. 1.人才流失后果 1 1. 1.员工的离职带走商业技术秘密和客户等资源 1 2. 2.影响在职员工的情绪,极大挫伤 ...
- Atitit.spring体系结构大总结
Atitit.spring体系结构大总结 1. Srping mvc 1 2. Ioc 4 3. ApplicationContext在BeanFactory的基础上构建,区别 4 4. Aop 5 ...
- MongoDB 学习 第八节 驱动实践
作为系列的最后一篇,得要说说C#驱动对mongodb的操作,目前驱动有两种:官方驱动和samus驱动,不过我个人还是喜欢后者, 因为提供了丰富的linq操作,相当方便. 官方驱动:https://gi ...
- Struts2初学 Struts.xml详解二
A.使用继承实现设置全局视图 package节点中还可以设置全局的视图,如: <global-results> <result name="e ...
- nyoj746 整数划分(四)
整数划分(四) 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 暑假来了,hrdv 又要留学校在参加ACM集训了,集训的生活非常Happy(ps:你懂得),可是他最近遇到 ...
- 02、Quick Start for Windows phone
在使用这个 SDK 提供的功能前,必须先添加类库的引用到你的工程里.参考: Download and add the libraries to the project. 定义你的 XAML 的 UI ...
- jq使用自定义属性实现有title的tab切换
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...
- org.apache.hadoop.hbase.DoNotRetryIOException: Class org.apache.phoenix.coprocessor.MetaDataEndpointImpl cannot be loaded Set hbase.table.sanity.checks to false at conf or table descriptor if you want
https://stackoverflow.com/questions/38495331/apache-phoenix-unable-to-connect-to-hbase 这个坑不该啊 首选配置hb ...
- 使用shell读取文本文件发送到kafka
#!/bin/sh ## 参数定义 dt=`date +"%Y%m%d" -d "-1 days"` outpath=/xxxx_log_${dt}.txt b ...
- elasticsearch安装与使用(2)-- centos7 安装测试的集群工具elasticsearch head
elasticsearch-head是elasticsearch(下面称ES)比较普遍使用的可监控.测试等功能的集群管理工具,是由H5编写的单独的网页程序.使用方法网上很多,这里教大家一个超简单安装h ...