精华内容
下载资源
问答
  • 1. close():指仅关闭当前窗体,如果不是窗体(包含主线程的窗体,并非MDI窗体话,是无法退出整个程序。如果有托管线程也无法退出。   此方法会调用 dispose() 方法,所以它会自动帮我们释放内存,除了...

    关闭窗体的四种方法

    1. close():指仅关闭当前窗体,如果不是主窗体(包含主线程的窗体,并非MDI窗体)的话,是无法退出整个程序的。如果有托管线程也无法退出。
      此方法会调用 dispose() 方法,所以它会自动的帮我们释放内存,除了以下两种情况:(1)该窗体是多文档应用程序(MDI)的一部分并且此窗体不可见;(2)此窗体是“模态”窗体。
      close() 方法执行的时候会触发两个事件:Form_Closing 和 Form_Closeed 事件,Form_Closing 是在窗体关闭时执行,Form_Closed 是在窗体关闭之后执行,所以如果想取消关闭窗体,可以在 Form_Closing 事件里取消。

    2. Application.Exit(): 强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出。

    3. Application.ExitThread(): 强制中止调用线程上的所有消息,同样面临其它线程无法正确退出的问题。

    4. System.Environment.Exit(0); 这是最彻底的退出方式,不管什么线程都被强制退出,把程序结束的很干净。 参数0:代表程序正常退出;参数1:代表程序非正常退出。

    close() 和 dispose() 的区别

     close():这个方法会自动调用 dispose()方法。
     dispose():这个方法的作用是释放组件使用的所有资源,.NET 提供的垃圾自动回收机制,可以帮我们自动回收垃圾对象,可是垃圾回收器只能回收“托管资源”,而不能回收“非托管资源”,而且垃圾回收器也并不是立即回收,而是每隔一段时间才会回收一次,每次回收的时间我们都不知道。
     所以 dispose() 方法是为了弥补这种机制所产生的方法,调用 dispose(true) 方法可以释放“托管”和“非托管”资源,而且它可以不必等待垃圾回收器来自动释放,调用此方法可以显示释放资源。

    Form.show() 和 Form.ShowDialog() 的区别

    From.Show():窗体显示出来的是非模态窗体
    From.ShowDialog():窗体显示出来的是模态窗体,而且点击窗体右上角的关闭按钮时,它不是调用 close() 方法,而是调用 hide() 方法。所以它并不是真正的关闭,再调用此方法窗体还会出现。而非模态窗体,点击关闭的时候,会调用 close() 方法,再次调用 Show() 方法,就会报错,因为窗体对象已被释放。

    托管资源 和 非托管资源

    托管资源:由CLR管理分配和释放的资源,即由CLR里new出来的对象
    非托管资源:不受CLR管理的对象,windows内核对象,如文件、数据库连接、套接字、COM对象等

    如果某类型使用到了非托管资源,那么,就需要让此类型继承接口IDisposable。需要显示释放资源,因为垃圾回收器并不会回收非托管资源。

    展开全文
  • C#关闭窗体

    千次阅读 2019-05-27 10:10:45
    1. close():指仅关闭当前窗体,如果不是窗体(包含主线程的窗体,并非MDI窗体话,是无法退出整个程序。   此方法会调用 dispose() 方法,所以它会自动帮我们释放内存,除了以下两种情况:(1)该窗体是...

    1. close():指仅关闭当前窗体,如果不是主窗体(包含主线程的窗体,并非MDI窗体)的话,是无法退出整个程序的。
      此方法会调用 dispose() 方法,所以它会自动的帮我们释放内存,除了以下两种情况:(1)该窗体是多文档应用程序(MDI)的一部分并且此窗体不可见;(2)此窗体是“模态”窗体。
      close() 方法执行的时候会触发两个事件:Form_Closing 和 Form_Closeed 事件,Form_Closing 是在窗体关闭时执行,Form_Closed 是在窗体关闭之后执行,所以如果想取消关闭窗体,可以在 Form_Closing 事件里取消。

    2. Application.Exit(): 强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出。

    3. Application.ExitThread(): 强制中止调用线程上的所有消息,同样面临其它线程无法正确退出的问题。

    4. System.Environment.Exit(0); 这是最彻底的退出方式,不管什么线程都被强制退出,把程序结束的很干净。 参数0:代表程序正常退出;参数1:代表程序非正常退出。

    close() 和 dispose() 的区别

     close():这个方法会自动调用 dispose()方法。
     dispose():这个方法的作用是释放组件使用的所有资源,.NET 提供的垃圾自动回收机制,可以帮我们自动回收垃圾对象,可是垃圾回收器只能回收“托管资源”,而不能回收“非托管资源”,而且垃圾回收器也并不是立即回收,而是每隔一段时间才会回收一次,每次回收的时间我们都不知道。
     所以 dispose() 方法是为了弥补这种机制所产生的方法,调用 dispose(true) 方法可以释放“托管”和“非托管”资源,而且它可以不必等待垃圾回收器来自动释放,调用此方法可以显示释放资源。

    Form.show() 和 Form.ShowDialog() 的区别

    From.Show():窗体显示出来的是非模态窗体
    From.ShowDialog():窗体显示出来的是模态窗体,而且点击窗体右上角的关闭按钮时,它不是调用 close() 方法,而是调用 hide() 方法。所以它并不是真正的关闭,再调用此方法窗体还会出现。而非模态窗体,点击关闭的时候,会调用 close() 方法,再次调用 Show() 方法,就会报错,因为窗体对象已被释放。

    展开全文
  • close():指仅关闭当前窗体,如果不是窗体(包含主线程的窗体,并非MDI窗体)话,是无法退出整个程序。如果有托管线程也无法退出。此方法会调用 dispose() 方法,所以它会自动帮我们释放内存,除了以下两种...

    关闭窗体的四种方法

    1. close():指仅关闭当前窗体,如果不是主窗体(包含主线程的窗体,并非MDI窗体)的话,是无法退出整个程序的。如果有托管线程也无法退出。

    此方法会调用 dispose() 方法,所以它会自动的帮我们释放内存,除了以下两种情况:(1)该窗体是多文档应用程序(MDI)的一部分并且此窗体不可见;(2)此窗体是“模态”窗体。

    close() 方法执行的时候会触发两个事件:Form_Closing 和 Form_Closeed 事件,Form_Closing 是在窗体关闭时执行,Form_Closed 是在窗体关闭之后执行,所以如果想取消关闭窗体,可以在 Form_Closing 事件里取消。

    2. Application.Exit(): 强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出。

    3. Application.ExitThread(): 强制中止调用线程上的所有消息,同样面临其它线程无法正确退出的问题。

    4. System.Environment.Exit(0); 这是最彻底的退出方式,不管什么线程都被强制退出,把程序结束的很干净。 参数0:代表程序正常退出;参数1:代表程序非正常退出。

    close() 和 dispose() 的区别

    close():这个方法会自动调用 dispose()方法。

    dispose():这个方法的作用是释放组件使用的所有资源,.NET 提供的垃圾自动回收机制,可以帮我们自动回收垃圾对象,可是垃圾回收器只能回收“托管资源”,而不能回收“非托管资源”,而且垃圾回收器也并不是立即回收,而是每隔一段时间才会回收一次,每次回收的时间我们都不知道。

    所以 dispose() 方法是为了弥补这种机制所产生的方法,调用 dispose(true) 方法可以释放“托管”和“非托管”资源,而且它可以不必等待垃圾回收器来自动释放,调用此方法可以显示释放资源。

    Form.show() 和 Form.ShowDialog() 的区别

    From.Show():窗体显示出来的是非模态窗体

    From.ShowDialog():窗体显示出来的是模态窗体,而且点击窗体右上角的关闭按钮时,它不是调用 close() 方法,而是调用 hide() 方法。所以它并不是真正的关闭,再调用此方法窗体还会出现。而非模态窗体,点击关闭的时候,会调用 close() 方法,再次调用 Show() 方法,就会报错,因为窗体对象已被释放。

    托管资源 和 非托管资源

    托管资源:由CLR管理分配和释放的资源,即由CLR里new出来的对象

    非托管资源:不受CLR管理的对象,windows内核对象,如文件、数据库连接、套接字、COM对象等

    如果某类型使用到了非托管资源,那么,就需要让此类型继承接口IDisposable。需要显示释放资源,因为垃圾回收器并不会回收非托管资源。

    ---------------------

    作者:张伟杰-Vijay

    来源:CSDN

    原文:https://blog.csdn.net/zwj_jyzl/article/details/82316151

    展开全文
  • c#复习2----窗体部分

    2020-06-22 20:59:40
    第十二章(winform编程) 1.所有Windows窗体控件都是...5.以下哪个选项不属于ListBox控件Item属性方法() ps:在ListBox.Item里Count是属性不是事件 6.Windows窗体应用程序编程模型主要由( )三部分组成。 7.Bu

    第十二章(winform编程)
    1.所有Windows窗体控件都是从System.Windows.Forms.Control类继承而来,它公开的成员不包含( )
    在这里插入图片描述
    2.改变窗体\控件的标题,需要修改的属性是()
    在这里插入图片描述
    3.在C#中,可以标识不同的对象的属性是()
    在这里插入图片描述
    4.当鼠标悬停在控件上方时,触发的事件是()
    在这里插入图片描述
    5.以下哪个选项不属于ListBox控件Item属性的方法()

    在这里插入图片描述
    ps:在ListBox.Item里Count是属性不是事件

    6.Windows窗体应用程序的编程模型主要由( )三部分组成。
    在这里插入图片描述
    7.Button控件的属性ClickMode可以获取Click事件,这里的Click模式有( )
    在这里插入图片描述
    8.所有的窗体、组件和控件都是类。
    在这里插入图片描述
    9.C# Winform程序中,新建的窗体后台cs代码自动继承了Form窗体。
    在这里插入图片描述
    10.所有的鼠标事件都使用MouseEventArgs类。(错的)
    在这里插入图片描述
    ps:有些不是

    11.图片框PictureBox中用于定义图片路径的属性是ImagePath。(错的)
    在这里插入图片描述
    ps:属性应该是image

    第十四章(窗体、对话框、菜单)
    1.当鼠标右击一个控件时出现的菜单一般称为(B)在这里插入图片描述
    ps:
    (1)主菜单是menuStrip(就是窗体上面那个)
    (2)上下文菜单是contextMenuStrip(就是右键一个控件才能见到的菜单)
    (3)子菜单(就是主菜单的分支)
    (4)菜单项是StatusStrip(就是窗体下面那个)

    2.为菜单添加快捷键的属性是()
    在这里插入图片描述
    ps:不是A!!!就是ShortcutKeys别想多了

    3.OpenFileDialog是打开文件对话框,显示此对话框的语句是OpenFileDialog1.ShowDialog();当用户点击此对话框的“确定”按钮时,该语句返回等于()
    在这里插入图片描述
    4.想要在打开对话框中只显示后缀名为TXT和DOCX文件,那么应设定打开对话框的Filter 的值为()
    在这里插入图片描述
    ps: TXT|.TXT|DOCX|.DOCX

    5.上下文菜单ContextMenu是通过控件的MenuStrip属性进行关联。(错的)
    在这里插入图片描述
    ps:没有联系

    6.当调用窗体的Hide方法,程序会直接将此窗体的对象删除掉。(错的)
    在这里插入图片描述
    ps:Hide是隐藏

    7.菜单会自动将子菜单分类显示(错的)
    在这里插入图片描述
    ps:子菜单得自己建,自己手动分类

    第十五章(文件)
    1.以下类中(C)需要实例化
    在这里插入图片描述
    2.以下描述中,错误的是( C)
    在这里插入图片描述
    ps:object是间接父类不是直接父类

    3.对读写文本文件描述错误的是(B)
    在这里插入图片描述
    ps:这个True是追加到文件尾的意思。

    用于文本文件读写的主要有两个对象, StreamWriter对象和StreamReader对象。

    下段程序的输出是( 6789class Program
    {
            static void Main(string[] args)
            {
                string path = @"D:\1.txt";
                FileStream fs = new FileStream(path, FileMode.OpenOrCreate, FileAccess.ReadWrite);
                string message = "123456789abcdefg";
                byte[] info = new UTF8Encoding(true).GetBytes(message);
                fs.Write(info, 5, 4);
                fs.Flush();
                fs.Close();
            }
    }
    

    ps:相当于一个数组(从0开始)的第五位是6,然后连着四个,就是6789了

    5.对于Path类的方法描述正确的是( A)
    在这里插入图片描述
    6.

    以下程序,描述错误的是( )
    class Program
    {
            static void Main(string[] args)
            {
                string path = @"c:\trytest.txt";
                File.Create(path).Close();
                if(File.Exists(path))
                {
                    StreamWriter sw = File.AppendText(path);
                    sw.Write("hello");
                    sw.Write("test");
                    sw.Close();
                }
            }
    }
    

    在这里插入图片描述
    ps:认真看题,问的是错误的是什么。
    注释掉close就无法关闭,但不会报错。

    7.序列化描述,错误的是( A)
    在这里插入图片描述
    ps:serializable才可以序列化

    使用BinaryWriter和BinaryReader读取二进制流文件时,描述错误的是(D )
    class Program
        {
            static void Main(string[] args)
            {
                FileStream fsW = new FileStream(@"c:\1.bin", FileMode.Create, FileAccess.Write);
                BinaryWriter bwMyFile = new BinaryWriter(fsW);
                string s = "恭喜你学会了";
                int grade = 100;
                bwMyFile.Write(s);
                bwMyFile.Write(grade);
                bwMyFile.Close();
                fsW.Close();
                FileStream fsR = new FileStream(@"c:\1.bin", FileMode.Open, FileAccess.Read);
                BinaryReader brMyFile = new BinaryReader(fsR);
                Console.WriteLine(brMyFile.ReadInt32());
                Console.WriteLine(brMyFile.ReadString());
            }
        }
    

    ps:注意看题,问的是错误的是什么
    大概思路就是按顺序输入就行了,先s再grade。

    9.StreamReader类继承自Stream类。(错的)
    在这里插入图片描述ps:StreamReader类继承于TextReader类

    10.Directory和DirectoryInfo类提供对目录的操作。
    在这里插入图片描述
    11.FileStream类的Seek方法总是会以相对于文件开头的位置搜索。(错的)
    在这里插入图片描述
    ps:seek()可以从头找,也可以从尾找

    12.FileStream以FileMode.Create方式创建文件时,如果文件已存在,则会报错。(错的)
    在这里插入图片描述
    ps:如果文件已存在,不会报错,是替换掉它

    13.Serialize方法和Deserialize方法都要求使用Stream对象。
    在这里插入图片描述
    14.二进制文件读写的顺序要保持一致,否则会报错。
    在这里插入图片描述

    展开全文
  • web窗体处理流程

    千次阅读 2013-07-01 18:25:43
    以下就是web窗体的六个处理过程: 1. 页面框架初始化:当用户请求到来时,页面框架首先进行初始化,在这个过程中,生成了aspx页面定义控件。另外,如果是回送请求,也就是说不是首次被加载,那么在这个过程还将...
  • 5.右击登录按钮选择go to slot,再选择clicked(),然后进入其单击事件的槽 函数,写入一句 void loginDlg::on_loginBtn_clicked() { accept(); } 6.改写main.cpp: #include #include "widget.h" #include "logindlg...
  • 这个判断程序并不会打开文件,只是通过ExtractFileExt函数来读取扩展名,在窗体上制作一个按钮,将按钮事件添加到该按钮中,当用户单击按钮选择指定文件后,立即获取扩展名信息并判断是否是文本文件,以下为按钮事件...
  • 你需要在退出事件里面,适当使用以下方法. 1.this.Close(); 只是关闭当前窗口,若不是窗体的话,是无法退出程序,另外若有托管线程(非主线程),也无法干净地退出; 2.Application.Exit(); 强制所有消息...
  • 存在多个窗体时,id不是当前焦点窗体对应属性; c.存在嵌套frame,需要switch后再定位 2. 鼠标事件: 首先调用ActionChains,语句为: from selenium.webdriver.common.Action_chains impor...
  • 主要包含以下技术:1、 高级用户界面高级用户界面是指J2ME编程中用到Form(窗体)、TextBox(文本框)、List(列表框)和Alert(提示信息框)等使用,以及其中一些控件使用,当然也包括相应的事件处理。应用在一般...
  • ASP.NET网页代码模型及生命周期

    热门讨论 2009-07-28 14:22:11
    在.aspx页面中,代码隐藏页模型的.aspx页面代码基本上和单文件页模型的代码相同,不同的是在script标记中的单文件页模型的代码默认被放在了同名的.cs文件中,.aspx文件示例代码如下所示。 “C#” AutoEventWireup=...
  • 某一控件的各种事件的实现~~一, 软件中最常见的就是循环和遍历的用法,实现遍历很容易,所以学习中重要的是注意以下都是什么地方需要遍历。一般是在需要查找某个元素,或是存储的某信息包括若干字段的时候,或是...
  • 某一控件的各种事件的实现~~一, 软件中最常见的就是循环和遍历的用法, 实现遍历很容易,所以学习中重要的是注意以下都是什么地方需要遍历。一般是在需要查找某个元素,或是存储的某信息包括若干字段的时候,或是...
  • 回到前面的规则定义部分,我们就能发现,folder default page使用的是由IIRF这个ISAPI定义的规则,而另两个则使用的是内置于ASP.NET2.0的HTTPModule的重写规则(本质上,urlMappings也是使用HTTPModule来实现重写的...
  • 定义 数组是一种排列有序数据结构,包含于数组中变量被称为数组元素, 它们都有相同类型。 数组声明 int [] array1 = new int[5]; int [,,] array3 = new int[10,20,30]; int [] array1 = new int[] {1,2,4}...
  • 再这十天敲第一次机房中,出错误最多地方之一就是因为限制类型不对,或限制错误,所以出现了Bug,或者是能...第二点则是控件内是否允许赋值为空,当窗体的加载事件运行时,链接数据库时,数据库没有最后一条记录...
  • 你必须指定新窗体的Owner为当前窗体,或者使用另一个重载方法PUMessageBox.CloseAwait(EventHandle closedCallback)关闭等待窗口,并将打开窗体的方法放入此事件处理中。否则新打开的窗体将被立即关闭。 示例: ...
  • 软件工程知识点

    2012-12-02 21:34:25
    通过系统外部事件、内部状态为基本元素来描绘系统工作流程,这种建模方式比较适合于描述一些依赖于外部事件驱动实时系统。 5.需求有效性验证 需求有效性验证是指对已经产生需求结论所要进行检查与评价。...
  • VB课程设计俄罗斯方块

    热门讨论 2011-02-25 10:46:55
    利用随机函数在一个预览窗体中提前展示形状供用户参考,然后将展示形状复制到游戏窗体中进行摆放,在游戏窗体中用户就可以使用键盘方向键来控制方块运动,然后利用递归语句对每一行进行判断,如果有某行方块...
  • 用黑月OCX驱动支持库调用,暂时没发现BUG以下是官方关于控件介绍,机器翻译内容,凑合看吧:SftMask/OCX提供了许多独特特性,这些特性简化了应用程序中数据输入和数据验证。SftMask/OCX支持各种完全可自定义...
  • 11.稳定灵活Frame开发方案(发布会李维老师推荐),可以很好将复杂窗体分解成四、五个小页面,加快页面截入速度,减少内存占用,并且按返回键自动返回上一页处理,让你打造出高效APP。 12.开源微信...
  • 现在可以在非UI线程中填充集合,功能区控件现在是架构的一部分,通过事件的弱引用也更容易实现,数据验证可以用INotifyDataErrorInfo接口异步完成;实时绘图功能可以方便地动态排序、分组修改了的数据。 ASP.NET ...
  • c# 加密和解密相关代码

    热门讨论 2011-09-06 11:04:59
    (2)更改默认窗体Form1 Name 属性为Frm_Main,在该窗体中添加两个GroupBox 容器控件,其中, 在第一个GroupBox 中放入3 个TextBox 控件和一个Button 按钮,分别用于输入数字、输入加密数字、显示加 密后数字和...
  • 仿QQ日历控件开源项目

    热门讨论 2009-04-21 20:28:43
    此项目源码涉及到了以下方面知识和技术: 1. Windows窗体坐标(逻辑坐标,客户区坐标概念)。 2. 图像自绘(不是MFC来绘制而是自已来管理一切)。 3. 双缓冲技术运用(有时侯自绘控件可能会有“闪烁感”,在...
  • //请在以下补齐代码用来调用OnDBOperate委托签名OnNew事件。 } } } 答:if( OnNew != null ) OnNew( this, e ); 27.分析以下代码,完成填空 string strTmp = \"abcdefg某某某\"; int i= System.Text....
  • 设定字符串为“张三,你好,我是李四” 产生张三的密钥对(keyPairZhang) 张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节 通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到张三编码后...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...
  • ASP.NET精品课程+源代码

    千次下载 热门讨论 2009-01-05 20:15:51
    它所培养的是具有较高水平、较高素质的高技能型人才(而不是策划、设计、科研型人才)。在制定教学模式时,最重要的是突出实践性、应用性。 大家知道ASP.NET 是目前非常流行的开放式的Web服务器的应用程序开发技术。它...
  • C#微软培训教材(高清PDF)

    千次下载 热门讨论 2009-07-30 08:51:17
    第十三章 事件和索引指示器 .148 13.1 事 件 .148 13.2 索引指示器 .151 13.3 小 结 .154 第十四章 继 承 .155 14.1 C#继承机制.155 <<page 3>> page begin==================== 14.2 多 态 性 ....

空空如也

空空如也

1 2 3
收藏数 41
精华内容 16
关键字:

以下不是窗体事件的是