分带取消按钮和不带取消按钮的

调用方法:

frmMessageBox frm = new frmMessageBox("提示", "数据连接失败,请重试!", 0);
frm.ShowDialog();
frm.Dispose();
GC.Collect();
frmMessageBox frm = new frmMessageBox("删除用户", "确定删除用户?", 1);
frm.ShowDialog();
frm.Dispose();//模式窗体不会自动调用资源清理,需手动清理,否则会内存溢出
GC.Collect();
if (frm.DialogResult != DialogResult.OK) return;
//执行的操作

自定义:

public partial class frmMessageBox : Form
{
private bool normalmoving = false;
private Point oldMousePosition; /// <summary>
/// type=0/1:0表示无取消按钮;1表示有确定和取消按钮
/// </summary>
/// <param name="type"></param>
public frmMessageBox(int type)
{
InitializeComponent();
InitButton(type);
} private void InitButton(int type)
{ if (type == 0)
{
this.btnOK.Location = new System.Drawing.Point(195, 160);
this.button2.Visible = false;
}
} public frmMessageBox(string Title, string Message, int type):this(type)
{
this.Message = Message;
this.Title = Title;
}
/// <summary>
/// Message
/// </summary>
public string Message
{
set
{
this.lblMessage.Text = value;
}
}
/// <summary>
/// Title
/// </summary>
public string Title
{
set
{
this.lblTitle.Text = value; }
} /// <summary>
/// 确定事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnOK_Click(object sender, EventArgs e)
{
//1.返回一个值,给调用者
this.DialogResult = DialogResult.OK;
//2.关闭
this.Close();
}
/// <summary>
/// 取消事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void picCancle_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.Cancel;
this.Close();
} private void frmMessageBox_Load(object sender, EventArgs e)
{ }
#region 标题栏的相关事件
private void pnlTitle_MouseDown(object sender, MouseEventArgs e)
{
if (this.WindowState == FormWindowState.Maximized)
{
return;
}
//Titlepanel.Cursor = Cursors.NoMove2D;
oldMousePosition = e.Location;
//moving = true;
normalmoving = true;
} private void pnlTitle_MouseMove(object sender, MouseEventArgs e)
{
//如果leftlag为true则进行移动
if (!normalmoving) return;
if (e.Button == MouseButtons.Left && normalmoving)
{
Point newposition = new Point(e.Location.X - oldMousePosition.X, e.Location.Y - oldMousePosition.Y);
this.Location += new Size(newposition);
//if (MousePosition.Y <= 0)
//{
// this.WindowState = FormWindowState.Maximized;
// maxmoving = false;
//}
}
} private void pnlTitle_MouseUp(object sender, MouseEventArgs e)
{
if (normalmoving)
{
normalmoving = false;
}
}
#endregion
}

c# 自定义控件-提示框(弹框)的更多相关文章

  1. 遮罩、警告框/弹框 - EasyUI

    1.遮罩 1.1. $.messager.progress //开启遮罩 $.messager.progress({}); 或 $.messager.progress({ title: 'Please ...

  2. tomcat在debug模式启动直接提示:弹框无法启动,无报错信息;但直接启动的话,就会有报错信息

    今天运行项目,Debug模式启动Tomcat,直接弹框:无法启动(翻译,因为后来整理,所以都忘记当时的截图) 后来尝试直接start,发现不弹框了,但是console有报出错信息. 类似以下错误 20 ...

  3. bootstrap模态框弹框后执行Ajax

    如下: editModal:模态框ID <script> $(document).ready(function() { $('#editModal').on('hidden.bs.moda ...

  4. 弹框中的elment-form在弹框重新打开后,怎么初始化验证信息

    如果弹框关闭前有错误提示,弹框重新打开,由于没重新刷新页面,该错误还是存在.... 解决办法:弹框中的内容写成一个组件,prop接收父元素弹框的状态,并监听且reset表格 1. cnpm insta ...

  5. UI自动化之特殊处理二(弹框\下拉框\选项\文件上传)

    弹框\下拉框\选项\文件上传也是一些比较特殊的操作 目录 1.弹框 2.下拉框 3.选项 4.文件上传 1.弹框 弹框有三种形式,value为alert.confirm.prompt三种的弹框,第一个 ...

  6. showPrompt弹框提示

    工作中会有很多的弹框,用来添加模板,用来信息提示,,我现在用的模板有dialog(用来添加数据模板内容),还有一个就是自写的showPrompt用来判断错误或者正确的信息~~ 样子大概就是这样的,, ...

  7. JS 信息提示弹框封装

    // 功能提示弹框 function tipsBox ( option ) { var html = ''; if ( option.type == 'success' ) { html += '&l ...

  8. CreateProcessAsUser,C#写的windows服务弹框提示消息或者启动子进程

    服务(Service)对于大家来说一定不会陌生,它是Windows 操作系统重要的组成部分.我们可以把服务想像成一种特殊的应用程序,它随系统的“开启-关闭”而“开始-停止”其工作内容,在这期间无需任何 ...

  9. Dynamics CRM2016 关闭错误报告弹框提示

    在之前的版本中错误报告的弹框提示是可以在隐私首选项中设置关闭的,如下图所示 但是在2016中这个设置没了 有人说在右上角的选项中设置,但那个只能是设置个人的无法修改系统级别的.在系统中找了半天还是没有 ...

随机推荐

  1. 常见线程池之 newCacheThreadPool 缓存线程池 简单使用

    package com.aaa.threaddemo; import java.util.concurrent.BlockingQueue; import java.util.concurrent.E ...

  2. CDNDrive 第一个版本发布 & 布客新知第二次备份完成

    CDNDrive 第一个版本发布,新适配五个图床 https://github.com/apachecn/CDNDrive 另外,布客新知第二次备份完成 TutorialsPoint:http://i ...

  3. HBuilderX频繁关闭,导致启动不了?

    根据官方给出的指南(http://ask.dcloud.net.cn/article/35583),在我的电脑打开%appdata%下面的会有HBuilderX目录,把这个目录删除或改名就可以启动了:

  4. Ajax创建对象的方法

    ajax涉及的技术包括Html.css.dom.xml.javascript等. 主流创建ajax对象的方法: IE6以下版本浏览器创建ajax对象方法是: 定义一个方法创建ajax对象:

  5. getter-setter方法练习

    // // Kline.h #import <Foundation/Foundation.h> @interface Kline : NSObject { int _max; // 最高价 ...

  6. 日期类 Date

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...

  7. docker基础——3.存储卷

    把宿主机的目录或文件链接到容器的目录或文件,可以避免写时复制对高I/O操作的影响,也避免容器销毁时数据丢失. 1. 只指定容器的目录位置,-v docker run -it --name bbox1 ...

  8. 【BZOJ5492】校园旅行(图论 搜索优化)

    题目链接 大意 给出\(N\)个点,\(M\)条边的一张图,其中每个点都有一个0或1的颜色. 再给出\(Q\)个询问,每次询问查询两个点之间是否存在一条路径,使得路径上的颜色组成的01字符串是一个回文 ...

  9. 剑指Offer系列_09_用两个栈实现队列

    package leetcode.sword_to_offfer.day01; import java.util.LinkedList; /** * 用两个栈实现一个队列.队列的声明如下,请实现它的两 ...

  10. rabbitmq集群实现

    官方文档 一.环境准备 1.1 IP地址规划 1.2 配置主机域名解析 ##每个节点修改主机名 # hostnamectl set-hostname mq1.example.local # hostn ...