• 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; }
    2
            //
            // 摘要:
            //     将窗体显示为模式对话框。
            //
            // 返回结果:
            //     System.Windows.Forms.DialogResult 值之一。
            //
            // 异常:
            //   T:System.InvalidOperationException:
            //     正在显示的窗体已经可见。 - 或 - 正在显示的窗体处于禁用状态。 - 或 - 正在显示的窗体不是顶级窗口。 - 或 - 窗体显示为对话框中已有模式窗体。
            //     - 或 - 当前进程不在用户交互模式下运行 (有关详细信息,请参阅 System.Windows.Forms.SystemInformation.UserInteractive)。
            public DialogResult ShowDialog();
    3//
            // 摘要:
            //     释放由 System.ComponentModel.Component 使用的所有资源。
            public void Dispose();

     七、窗口最大化,最小化

     1 private void button1_Click(object sender, EventArgs e)
     2 {
     3     this.WindowState = FormWindowState.Maximized;
     4     this.notifyIcon1.Visible = true;
     5 }
     6 
     7 private void button2_Click(object sender, EventArgs e)
     8 {
     9     this.WindowState = FormWindowState.Minimized;
    10     this.notifyIcon1.Visible = true;
    11 }
    12 private void button3_Click(object sender, MouseEventArgs e)
    13 {
    14     this.WindowState = FormWindowState.Normal;
    15     this.Visible = true;
    16 }

     this.MaximizeBox = false;最大化按钮不可用

    2)窗口屏幕最大化整个屏幕

    this.TopMost = true;
    this.FormBorderStyle = FormBorderStyle.None;
    this.WindowState = FormWindowState.Maximized;

     3)窗口屏幕最大化,不占用状态栏

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

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

  • 相关阅读:
    【渗透攻防Web篇】SQL注入攻击高级
    【在线渗透】中关村--德宇
    [深入学习Web安全](5)详解MySQL注射
    【安全播报】微信突然变静音要谨慎,多人银行卡内余额被转走
    安全圈玩起了直播,"学霸”带你玩转CTF
    2016 安全圈玩起了直播,“学霸”带你玩转CTF_i春秋学院
    对症下药 – 疑难杂症之提权技术
    木马编程-手把手带你进入木马的世界之木马编程
    【LeetCode-面试算法经典-Java实现】【033-Search in Rotated Sorted Array(在旋转数组中搜索)】
    升级后开机就提示“android.process.acore”停止执行 --分析 解决方式
  • 原文地址:https://www.cnblogs.com/michellexiaoqi/p/9894925.html
Copyright © 2020-2023  润新知