首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在C#中关闭MessageBox后强制按钮,TextBoxes在窗体上重绘

在C#中,关闭MessageBox后强制按钮和TextBoxes在窗体上重绘可以通过以下方法实现:

  1. 使用MessageBox.Show()方法显示消息框,并传递一个参数来指定按钮的类型。例如,使用MessageBoxButtons.OKCancel可以显示一个带有“确定”和“取消”按钮的消息框。
代码语言:csharp
复制
DialogResult result = MessageBox.Show("您确定要关闭此窗口吗?", "提示", MessageBoxButtons.OKCancel);
  1. 检查返回的DialogResult值,以确定用户单击了哪个按钮。如果用户单击了“确定”按钮,则关闭窗口并强制重绘TextBoxes。
代码语言:csharp
复制
if (result == DialogResult.OK)
{
    this.Close();
    this.Refresh();
}
  1. 如果需要在窗体上重绘TextBoxes,可以使用Invalidate()方法来强制重绘。
代码语言:csharp
复制
foreach (Control control in this.Controls)
{
    if (control is TextBox)
    {
        control.Invalidate();
    }
}

完整代码示例:

代码语言:csharp
复制
private void button1_Click(object sender, EventArgs e)
{
    DialogResult result = MessageBox.Show("您确定要关闭此窗口吗?", "提示", MessageBoxButtons.OKCancel);

    if (result == DialogResult.OK)
    {
        this.Close();
        this.Refresh();

        foreach (Control control in this.Controls)
        {
            if (control is TextBox)
            {
                control.Invalidate();
            }
        }
    }
}

这样,在用户单击“确定”按钮后,窗口将关闭并强制重绘TextBoxes。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

使用C#开发数据库应用程序

Text 与文本框相关联的文本 (3)按钮【Button】 属性 Text 按钮显示的文本 TextAlign 按钮上文本的对齐方式 事件 Click 单击按钮时发生 (4)单选按钮...(要显示的字符串,消息框的标题,消息框按钮); MessageBox.Show(要显示的字符串,标题,消息框按钮,消息框图标); b.消息框的返回值 :DialogResult.OK;//用户单击了...("你选择了确定按钮"); } else { MessageBox.Show("你选择了取消按钮"); } } } 第五章 用控件进行快速开发 5-1:排列窗体的控件...Items 工具条或状态条显示项的集合 工具条或状态条按钮和标签的主要属性和事件 属性 DisplayStyle 设置图像和文本的显示方式,包括显示文本、图像、文本和图像或什么都不显示...b.ContextMenuStrip控件 菜单项(MenuItem)的主要属性和事件 DisplayStyle 指定是否显示图像和文本 Image 显示菜单项的图像 Text 显示菜单项的文本

5.9K30

使用C#开发屏幕保护程序步骤建议收藏

程序设计实现这些特点,关键就在于对窗体的某些属性的设定。...; //程序运行不显示在任务栏 this.ShowInTaskbar = false ; //窗体运行,最大化,充满整个屏幕   (2).使得字符屏幕不断移动:   实现字符屏幕像字符屏保一样不断移动...当设定好Label组件要显示的字符, 也就设定了屏幕要移动的字符。... 程序,判断鼠标是否移动的思路是通过二个全局变量记录下,程序刚刚运行的时候的鼠标的位置(即:X和Y),当鼠标移动的时候,判断移动的位置和记录的 位置是否有出入,如果有出入,就关闭屏保。...而要完成这种响应,所用的知识就是Windows系统按动”设置”按钮,对屏幕保护进行设定时,其实也就对屏保程序传递”/c”字 符。

1.3K10

C# winform ——界面美化技巧

C# winform 界面美化技巧(扁平化设计) 转 关于C#界面美化的一些小技巧 不使用第三方控件 IrisSkin 的前提下,依然可以对winform做出让人眼前一亮的美化 ?...调节背景色,建议找到自己喜欢的颜色,然后使用取色器(我用的是按键精灵自带的取色板)取得想要的RGB参数,输入到BackColor属性之中 窗体的Mouse_Down添加如下事件,实现窗体随意拖动:...public MyProgressBar() { base.SetStyle(ControlStyles.UserPaint, true);//使控件可由用户自由...,依旧按照Progressbar的属性设置前景色 } } } 完成以上步骤之后,我们如何在界面插入自己的进度条呢?...理解控件或者是重写的含义之后,其他的控件也非常方便拓展与修改,达到美化效果!

5.3K41

【愚公系列】2023年11月 Winform控件专题 GroupBox控件详解

GroupBox可以添加其他控件,Label、TextBox、Button、CheckBox等,以便为用户提供更直观、明确的操作提示。...方法:Contains:判断一个控件是否位于GroupBox。PerformLayout:强制GroupBox使用GroupBox时,一般需要先将它添加到窗体。...设计器可以通过拖拽GroupBox控件到窗体上来添加控件,也可以代码通过实例化GroupBox对象来添加控件。...收集用户信息:将输入相同类型的信息的控件,文本框、下拉列表、单选按钮等,放在同一组,以便用户一目了然地看到需要填写的信息。...显示程序的运行状态:将运行状态相关的控件放在同一组进度条、文本标签、按钮等,以便用户了解程序当前的执行状态。

1.1K11

C# winform 界面美化技巧(扁平化设计)

C# winform 界面美化技巧(扁平化设计) 关于C#界面美化的一些小技巧 不使用第三方控件 IrisSkin 的前提下,依然可以对winform做出让人眼前一亮的美化 首先,我们先来实现主界面的扁平化...调节背景色,建议找到自己喜欢的颜色,然后使用取色器(我用的是按键精灵自带的取色板)取得想要的RGB参数,输入到BackColor属性之中 窗体的Mouse_Down添加如下事件,实现窗体随意拖动...MyProgressBar() { base.SetStyle(ControlStyles.UserPaint, true);//使控件可由用户自由...this.ForeColor); e.Graphics.FillRectangle(brush, 2, 2, bounds.Width, bounds.Height);//此处完成前景...,依旧按照Progressbar的属性设置前景色 } } } 完成以上步骤之后,我们如何在界面插入自己的进度条呢?

6.3K30

抖音火爆表白小程序(C#语言实现)

最近在学习C#编程语言,接触到了winform,记得曾经抖音看到过这样一个小程序,觉得很有意思,就用C#语言实现了下,实现起来很简单(可以说没有任何技术含量)程序执行后效果如下。...添加控件 更改属性 图片加载方法 更改窗体属性 第三步:添加事件 添加[好呀]事件 双击[好呀]按钮,进入点击事件代码编辑区,添加如下代码。...", "^v^"); this.Dispose(); 添加[算了吧]事件 选中[算了吧]按钮,点击右侧属性栏的事件图标,在下面找到MouseEnter事件,双击MouseEnter事件添加如下代码。..., "(╯_╰)╭"); e.Cancel = true; 第四步:调试生成打包程序 调试(F5/CTRL+F5) 调试程序发现算了吧按钮移动时会被其他控件遮挡(这和你一开始拖控件的顺序有关,如果出现这种情况...写在后面   这个程序说实话一点技术含量没有,唯一值得说道的就是按钮移动不让用户点击的想法和算法。   源代码放在了github,记得素质三连,传送门

1.7K20

串口助手(简洁版)上位机软件零基础教程( C# + visual studio2017 )(二)

在上篇博客,我们完成了串口助手(简洁版)可视化窗体的设计,并且单击启动可以运行。但是光有外壳,没有灵魂。所以接下来我们将继续一步一步来编写上位机软件的程序部分。...我们到上一章编好的可视化窗体,去双击窗体的空白处,就跳转到对应的事件发生程序中去了。...2.定时器中断事件(程序) 一章可视化窗体编辑过程,我们添加并使能了定时器控件,并设定时周期为500ms。所以程序,我们需要为其添加定时器中断处理程序。...3.打开串口,串口开关按键的颜色和文字就已经程序中被修改了,而且还让两个组合框发灰,变成不可操作状态 4.发送按钮按下事件(程序) 当按下串口发送按键,就需要将发送文本框的数据通过串口发出。...需要根据单选按钮控件的按下状态来决定。 4.数值发送方式写的有点复杂,目的是要从字符串,两两抠出16进制数据,0x46,但同时又要考虑空格作为分隔符的存在。

3.2K10

.NET混合开发解决方案4 WebView2的线程模型

.ShowError(aiResult); } } 业务场景2 审查专家手动审查模型时,填写完审查意见,点击【保存】按钮,网页js调用C#方法,将对应的模型节点的“蓝色加号”图标,修改为“黄色警告...21 * 否则无法目标窗体创建对象,且访问控件的属性值并不是当前运行时的属性值。...某个模型网页审查,点击保存按钮需要转到Form窗体中找到对应的模型节点。所以首先找到该模型对应的WebView2组件,34行代码。...延期   一些WebView2事件读取相关事件参数上设置的值,或者事件处理程序完成启动一些操作。...C#语言中的延迟    C# 中使用 Deferral 时,最佳做法是将其与using块一起使用。 即使using块中间引发异常,该using块也可确保Deferral已完成。

3.1K30

【愚公系列】2023年12月 GDI+绘图专题 图形图像编程基础

= e.Graphics; } Paint事件控件时发生。...方法(二)、使用“打开文件”对话框输入图像 在窗体添加一个命令按钮(button1)和一个图形框对象(pictureBox1),双击命令按钮响应方法输入如下代码: private void button1...我用C#的GDI+FORM窗体drawimage显示一个图像,然后我想在同一窗体再drawimage另一张图像,目的是同一个from窗体删除一张图像再显示另一张图像,如此不断反复操作,但是Graphics...别直接画在窗体是,弄一个PictureBox 画在这上面!~ 每次重画之前,可以一下PictureBox: PictureBox1.Invalidate()....Refresh:强制控件使其工作区无效并立即自己和任何子控件。

44712

C#记事本项目开发,一个可以实现批量操作的记事本!【附源码】

C#窗体应用,我们可以直接对界面进行控件布局,不需要使用代码定义控件,在这一点C#窗体应用开发是很不错的。...那么在记事本应用,我们应该添加在窗体的控件应该有,文件的新建、打开、保存,以及字体的样式、字号、是否加粗倾斜这些基本的记事本控件。同时当然还需要记事本的编辑文本框,方便我们对内容的修改和输入。...我们的文本被修改之后,如果用户点击关闭按钮,这个时候就需要对用户进行提示,如果用户选择关闭,则进行记事本文本框的关闭操作,并且不会进行保存,如果用户点击了否,则重新回到编辑页面进行编辑。...主控页面父窗体 接下来就是承载记事本编辑窗口的父窗体了。 窗体需要包括的控件有记事本的新建、关闭、全部关闭、退出等。...); } 关闭窗体 关闭窗体时,我们所关闭的是当前处于最前方的活跃的窗体

1.9K10

WinForm事件与消息

消息概述以及C#下的封装 Windows下应用程序的执行是通过消息驱动的。...C#,消息被应用程序的工作引擎通过轮询等方式遍历获取并按照消息的类型逐个分发到对应的组件(例如窗体按钮等),最后调用对应组件所注册的事件进行处理。...} 因为Application是单线程运行的,所以Application.Run开始,Application本身不断轮询检查消息队列,然后根据消息类型进行数据分发。...实际整个过程应该如下: 当我们按下鼠标左键,消息形成并送往应用程序消息队列,然后被Application类从应用程序消息队列取出,然后分发到相应的窗体。...窗体使用MouseClick事件的函数指针调用已经添加的响应函数。所以C#的事件字段实质是一个函数指针列表,用来维护一些消息到达时的响应函数的地址。

27620

C#开发BIMFACE系列53 WinForm程序中使用CefSharp加载模型图纸1 简单应用

我的博客《C#开发BIMFACE系列52 CS客户端集成BIMFACE应用的技术方案》中介绍了多种集成BIMFACE到客户端程序的方案。...允许开发者.NET应用程序嵌入Chromium。可以C#或VB或任何其他CLR语言中使用。CefSharp同时提供WPF和WinForms Web浏览器控件实现。...(2)WinForm 窗体输入 BIMFACE FileId,点击【加载模型/图纸】按钮,调用CefSahrp组件,加载步骤(1)的网页。...按钮对应的js方法 1 // js 调用 C# 方法 2 function callCharpMethod() { 3 // 特别提醒:C#定义的方法名称采用 Pascal 命名。...定义一个单独的类,用于CefSahrp组件加载网页之前,将其注入到网页 (4)WinForm窗体中点击【 C# 调用 JS 方法】按钮

2.4K40

1-3 Winform 的常用控件(3

8.案例学习:使用组合框控件 本次实验目标是FORM窗体建立一个列表框控件,两个组合框控件以及一个文本框控件,通过这些控件彼此之间的关联,学习并掌握ComboBox组合框控件的主要属性和方法。...本次实验目标是Form窗体建立一系列Button控件,通过这些按钮控件的鼠标单击事件呈现不同的对话框样式,最终显示界面如图1-17所示。 ?...,"问询提示",MessageBoxButtons.YesNo); //  1、DialogResult属性用于获取或设置MessageBox.Show()方法返回的一个值,该值单击按钮时返回到父窗体...showDialog()是模式窗体,与show方法的主要区别在于以showDialog()打开的窗体,要等当前窗体关闭才能操作其他窗体,而show()方法则不受此限制。...建立showDialog()的方法比较简单,比如建立两个Form窗体,通过第一个Form窗体的Button按钮打开另一个窗体

2.4K10

再议Windows消息与WinForm事件

前言 2月份的时候,我之前曾经写过一篇关于Windows消息与C# WinForm事件机制的文章,名为《WinForm事件与消息》。在那篇文章,我简单探讨了一下事件和消息。...)到对应的组件(例如窗体按钮等),最后才调用对应组件所注册的事件进行处理。...} 因为Application是单线程运行的,所以Application.Run开始,Application本身不断轮询检查消息队列,然后根据消息类型进行数据分发。...实际整个过程应该如下: 当我们按下鼠标左键,消息形成并送往应用程序消息队列,然后被Application类从应用程序消息队列取出,然后分发到相应的窗体。...窗体使用MouseClick事件的函数指针调用已经添加的响应函数。所以C#的事件字段实质是一个函数指针列表,用来维护一些消息到达时的响应函数的地址。

20810

C#项目实战练习:做自己的QQ

为巩固和练习C#程序设计在编写Winform窗体应用程序方面的开发与应用,着手做了这样一个练习,实战确实遇到了很多坑,也学到了很多,回顾开发过程,记录心得,写下这篇博客。   ...,这个要选择使用100%缩放比例重新启动Visual Studio,点击蓝色的超链接即可,否则的话缩放比例为125%或者150%下设计的窗体,运行调试控件会错位。...用户登录窗体 登录窗体布局设计   本次练习参考腾讯QQ的登录页面,窗体设计本身很复杂,需要设计各种图标,不过可以偷个懒,腾讯QQ的界面改改,作为SunTalk窗体的背景,背景的基础添加相应控件。...便于测试   为了方便测试登录窗体,实现点击安全登陆按钮可以代开主窗体的操作,我们应该事先在数据库添加一条用户数据。   这样我们输入账号即可测试记住密码,打开主窗体等功能。...项目资源管理器下右键项目文件,右键菜单中选择添加,为程序添加一个form窗体,并将改窗体的Name设置成Frm_Main 按下回车键自动登录   如何实现当账号和密码都输入完成,不点击安全登录空间

7.2K20

期末作业C#实现学生宿舍管理系统

开发背景 完整代码下载地址:点我下载 优化移步: 《c#datagridview的表格动态增加一个按钮方法》 《C#实现多窗口切换:Panel详细教程(亲测)》 文章还在更新,上次更新时间2022...新建保存按钮,双击按钮添加点击事件 首先获取id、账号、密码、宿舍号 var id = label5.Text; var zh = textBox1...】按钮 ②双击本页面添加代码 在窗体部分输入: public UserControl4 f4; //钥匙借阅登记 在窗体加载处输入: f4 = new UserControl4(); /.../钥匙借阅登记 添加如图所示: 【钥匙借阅登记】按钮处添加 f4.Show(); //将窗体一进行显示 panel2.Controls.Clear();...//清空原容器的控件 panel2.Controls.Add(f4); //将窗体一加入容器panel2 添加如图所示: 编译运行代码成功截图: 6、显示数据

23630

超详细的《防疫健康管理软件》开发报告奉上!【文末获取完整源码】

《学生防疫信息管理软件》是基于C#语言开发的一款为监控和管理学生疫情信息而开发的应用型软件,开发环境为Visual Studio 2019 版,使用C#Winform窗体进行开发。...集成前端交互界面、后端数据处理和信息文件存储为一体,在前端界面的设计主要用到的技术有winform窗体的构建、panel容器的合理使用、子窗体切换效果的实现、单选框的实现及独立页面间的数据通信等;后端数据处理上主要用到的技术是...学生信息录入窗体(formMainInput)通过子窗体窗体显示,用户可以通过该窗体录入学号、姓名、专业、班级、何地返校、何时返校、是否发热、是否去过疫区等信息,formMainInput的类调用...formMain类的信息录入函数,将数据传入主类并且主类定义结构体,对相应的属性结构体定义,并且将数据通过结构体在数组列表中进行存储。...软件的交互界面上,为了提升用户使用的体验感,软件开发完成对软件的整体界面和外观进行了较为细致的优化和美观。目的是为了提升软件实用性的同时也可以很好的提高用户端使用体验感。 好啦!

89320

窗口结束不断循环的线程

当程序有循环线程时,窗口关闭时(通过窗口右上角X按钮),重新启动程序失败,提示是否执行一次结果,每执行一次结果,就积累一个线程在编译器,因为程序没有完全关闭。...系统主窗口,实质是Main函数开始消息循环的窗口,这个消息循环结束,Main函数就基本完成了历史使命,整个应用程序自然就结束了。...如果运行关闭窗体,发现窗体虽然关闭了,但子窗体的循环程序却没有退出,一直 执行,并占用着系统资源,直到循环结束,才真正的释放资源。...我感觉最好方法的就是,窗体的Closing事件,写循环退出条件,这样就可以避免某些未知的错误,而且可以只关闭窗体,并释放子窗体占用的资源 1.Application.Exit(): 方法停止在所有线程运行的所有消息循环...主消息泵结束依然存在的任何窗口都需要手动关闭应用程序退出之前通过调用 Form.Close 或 Form.Dispose 来关闭窗口是清除窗口的良好做法,但这需要您有意识地去做。

1.5K41

关于DialogResult

程序,经常会弹出一个对话框来让用户填写一些信息,填写完成,当用户点击“确定”按钮窗体中进行其他的处理。...“确定”按钮的DialogResult的属性, 设置完成,只要用户一点击“确定”按钮,那么对话框就关闭,重新回到主窗体,然后可以窗体中进行相应的处理,比如把数据写入数据库等。...,而是继续留在这个窗体,等待用户修改,可是事实却不是这样,因为你设置了“确定”按钮的Dialogue属性,只要用户一点击按钮,主窗体的 1: if (frm.ShowDialog() == DialogResult.OK...单击【确定】或【取消】按钮等将该对话框关闭。...因为此行为,所以当应用程序不再需要该窗体时,必须调用该窗体的 Dispose 方法。 可以使用此属性确定对话框是如何关闭的,以便正确处理该对话框执行的操作。

1K10
领券