首页 技术 正文
技术 2022年11月11日
0 收藏 598 点赞 3,106 浏览 4649 个字

代码功能

一、隐藏当前窗口

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 即可同时禁用这三个按钮。一旦这三个按钮都被禁用了,那就都不显示了。

所以,关闭按钮被禁用了,这个窗口就无法通过系统自带的功能来关闭。必须要再写一个关闭的功能用来关闭它。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,088
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,564
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,413
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,186
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,822
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,905