精华内容
下载资源
问答
  • C#实现窗体程序的退出按钮功能

    千次阅读 2019-08-16 10:58:40
    C#的窗体程序点击退出按钮,退出当前程序。 使用的是Dispose方法。 Dispose 释放有Component占用的资源。 重载 Dispose() 释放由 Component 使用的所有资源。 Dispose(Boolean) 释放由 Component 占用的非...

    场景

    C#的窗体程序中点击退出按钮,退出当前程序。

    使用的是Dispose方法。

    Dispose

    释放有Component占用的资源。

    重载

    Dispose() 
    释放由 Component 使用的所有资源。
    Dispose(Boolean) 
    释放由 Component 占用的非托管资源,还可以另外再释放托管资源。

    效果

     

    实现

    private void exit_Click(object sender, EventArgs e)
            {
                this.Dispose();
            }

     

    展开全文
  • 本篇教程,我们将在窗体中增加1个命令按钮(PushButton),并增加ToolTip对象,对PushButton的功能进行提示。这里提示大家一下,教程所给程序的难度是慢慢增加的,而且例程和例程之间是有关联的,我们学习新...

    在本篇教程中,我们将在窗体中增加1个命令按钮(PushButton),将其功能设置为退出应用程序,并增加ToolTip对象,对PushButton的功能进行提示。在这里提示大家一下,教程所给程序的难度是慢慢增加的,而且例程和例程之间是有关联的,我们在学习新的例程的时候,可以先复制旧例程,在此基础上进行修改就好。


    源程序:




    解释:

    1、第3行:输入QPushButton模块,用于进行信息提示。

    2、第4行:输入QToolTip模块,用于产生命令按钮。

    3、第6行:输入QCoreApplication模块,用于控制应用程序的运行。

    3、第16行:将提示信息的字体设置为“华文楷体”,字号设置为10。

    4、第18行:建立命令按钮btnQuit,显示内容为“退出”。

    5、第19行:设置btnQuit的提示信息。

    6、第20行:设置btnQuit单击事件关联的功能函数为QCoreApplication.instance().quit,也就是应用程序退出

    6、第21行:设置btnQuit的大小为默认尺寸。

    7、第22行:设置btnQuit的位置为100和100。

    8、第25行:设置主窗体的字体为“华文楷体”,字号设置为10,这样窗体上的控件都显示这种字体。


    程序的运行效果:



    原创性文章,转载请注明出处 http://user.qzone.qq.com/2756567163     
    CSDN:http://blog.csdn.net/qingwufeiyang12346


    展开全文
  • (1)创建窗体对象(2)创建按钮对象(3)把按钮添加窗体(4)窗体显示 2.编写程序思路: 窗体布局:窗体中组件的排列方式 布局分类如下: package cn.itcast_04; import java.awt.Button; import ...

    1.需求:把按钮添加到窗体,并对按钮添加一个点击事件。

     步骤:

    (1)创建窗体对象
    (2)创建按钮对象
    (3)把按钮添加到窗体
    (4)窗体显示

    2.编写程序思路:

    窗体布局:窗体中组件的排列方式

     布局分类如下:

    package cn.itcast_04;
    
    import java.awt.Button;
    import java.awt.FlowLayout;
    import java.awt.Frame;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    
    /*
     * 需求:把按钮添加到窗体,并对按钮添加一个点击事件。
     * A:创建窗体对象
     * B:创建按钮对象
     * C:把按钮添加到窗体
     * D:窗体显示
     */
    public class FrameDemo {
        public static void main(String[] args) {
            // 创建窗体对象
            Frame f = new Frame("添加按钮");
            // 设置属性
            f.setBounds(400, 200, 400, 300);
            // 设置布局为流式布局
            f.setLayout(new FlowLayout());
    
            // 创建按钮对象
            Button bu = new Button("点我啊");
            // bu.setSize(20, 10);
    
            // 把按钮添加到窗体
            f.add(bu);
    
            // 设置窗体可以关闭
            f.addWindowListener(new WindowAdapter() {
                @Override
                public void windowClosing(WindowEvent e) {
                    System.exit(0);//退出JVM
                }
            });
    
            bu.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    System.out.println("你再点试试");
                }
            });
    
            // 窗体显示
            f.setVisible(true);
        }
    }

    运行结果:

     

    不停点击"点我啊”:

    转载于:https://www.cnblogs.com/hebao0514/p/4758777.html

    展开全文
  • QT 圆形窗体,圆形按钮

    千次阅读 2018-04-12 17:44:04
    QT 圆形窗体,圆形按钮 一、简要说明 1、在窗体上画一个圆形(如果添加上点击等事件,这个圆形就相当于一个控件——圆形PushButton) 2、无边框 3、窗体透明化,窗体上的控件不透明 4、实现无边框拖动 代码打包...

                                                                                QT 圆形窗体,圆形按钮

    一、简要说明

    1、在窗体上画一个圆形 (如果添加上点击等事件,这个圆形就相当于一个控件——圆形PushButton)

    2、无边框

    3、窗体透明化,窗体上的控件不透明

    4、实现无边框拖动

    代码打包:链接: https://pan.baidu.com/s/1GRd37_QuHLAHqu9Nm2AGiQ 提取码: p9xx 

    二、效果

    三、工程文件结构

    四、源码

    1、MyButton.pro文件

    QT +=widgets gui
    
    SOURCES += \
        main.cpp \
        circlebutton.cpp
    
    HEADERS += \
        circlebutton.h
    

     

    2、circlebutton.h文件

     

    #ifndef CIRCLEBUTTON_H
    #define CIRCLEBUTTON_H
    
    #include <QWidget>
    
    class CircleButton : public QWidget
    {
        Q_OBJECT      //使用信号与槽需要的宏
    public:
        explicit CircleButton(QWidget *parent = 0);    //explicit 避免歧义
        CircleButton(const QString text, QPoint center,int radius,QWidget* parent = 0);
    
        void paintEvent(QPaintEvent *);                //--绘图事件,调用update()时触发
        void mousePressEvent(QMouseEvent *e);         //--鼠标按下事件
        void mouseReleaseEvent(QMouseEvent *e);     //--鼠标释放事件
        void mouseMoveEvent(QMouseEvent *e);       //--鼠标移动事件
    
        bool isContains(QPoint p);//判断鼠标是否在圆形范围之内
        void initForm();//初始化窗体
    signals:
        void clicked();//点击信号
    public slots:
    private:
        QString _text;    //控件显示文本
        QPoint _center;  //圆心位置坐标
        QPoint beginPos;//圆形起始坐标
        int _radius;   //圆形半径
    public:
        bool _pressed;//左键单击变色控制
    };
    
    #endif // CIRCLEBUTTON_H
    

     

    3、circlebutton.cpp文件

     

    #include "circlebutton.h"
    #include <QPainter>
    #include <QMouseEvent>
    
    CircleButton::CircleButton(QWidget *parent) :
        QWidget(parent),_text("CircleButton"),_center(30,30),_radius(20)
    {
        initForm();
    }
    CircleButton::CircleButton(const QString text, QPoint center,int radius,QWidget* parent):
        QWidget(parent),_text(text), _center(center),_radius(radius)
    {
        initForm();
    }
    
    void CircleButton::initForm()
    {
        _pressed = false;
        beginPos = this->pos();
        //无边框
        this->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowSystemMenuHint | Qt::WindowMinMaxButtonsHint|Qt::WindowStaysOnTopHint);
        /*  窗口整体透明,但窗口控件不透明*/
       this->setAttribute(Qt::WA_TranslucentBackground,true);
    }
    void CircleButton::paintEvent(QPaintEvent *)
    {
        QPainter p(this);//将当前窗体作为画布
        if(_pressed)
            p.setBrush(Qt::yellow);//粉刷为黄色
        else
            p.setBrush(QColor(255,255,255,10));
        p.setPen(Qt::NoPen);//没有线条
        //画圆形
        p.drawEllipse(_center,_radius,_radius);
        //添加文本
        QPen pen = QPen(Qt::black);
        p.setPen(pen);
        p.drawText(QRect(_center.x()-_radius,_center.x()-_radius,2*_radius,2*_radius), _text, QTextOption(Qt::AlignCenter));//文本居中:QTextOption(Qt::AlignCenter)
    }
    void CircleButton::mousePressEvent(QMouseEvent *e)
    {
       if(isContains(e->pos()))
        {
            _pressed = true;
            beginPos = e->pos();//鼠标相对窗体的位置
            update();//触发窗体重绘
        }
    
    }
    
    void CircleButton::mouseReleaseEvent(QMouseEvent *e)
    {
        _pressed = false;
        update();//触发窗体重绘
    
        if(isContains(e->pos()))//当鼠标点击按钮
            emit clicked();//发送点击信号
    
    }
    
    void CircleButton::mouseMoveEvent(QMouseEvent *e)       //--鼠标移动事件
    {
        if (_pressed)
        {//当前鼠标相对窗体的位置-刚按下左键时的相对位置=鼠标移动的大小
             this->move(e->pos() - beginPos + this->pos());
             //           鼠标移动的大小+窗体原来的位置=窗体移动后的位置
        }
    }
    
    
    bool CircleButton::isContains(QPoint p)
    {
        return (_center.x()-_radius < p.x()
                && _center.x()+_radius > p.x()
                && _center.y()-_radius < p.y()
                && _center.y()+_radius > p.y());
    }
    
    

     

    4、main.cpp文件

     

    #include <QApplication>
    #include "circlebutton.h"
    
    int main(int argc,char** argv)
    {
        QApplication app(argc,argv);
        CircleButton *circle= new CircleButton("圆形窗体",QPoint(40,40),40);
        circle->show();
        return app.exec();
    }
    
    

    五、视频水印   (窗体置顶)

    1、效果

    2、修改后的代码

    circlebutton.h文件

    #ifndef CIRCLEBUTTON_H
    #define CIRCLEBUTTON_H
    
    #include <QWidget>
    #include <QMenu>
    class CircleButton : public QWidget
    {
        Q_OBJECT
    public:
        explicit CircleButton(QWidget *parent = 0);
        CircleButton(const QString text, QPoint center,int radius,QWidget* parent = 0);
    
        void paintEvent(QPaintEvent *);
        void mousePressEvent(QMouseEvent *e);
        void mouseReleaseEvent(QMouseEvent *e);
        void mouseMoveEvent(QMouseEvent *e);       //--鼠标移动事件
        void contextMenuEvent(QContextMenuEvent *);  //--右键菜单事件
        void closeEvent(QCloseEvent *);     //重写退出
    
        bool isContains(QPoint p);//判断鼠标是否在控件范围之内
        void initForm();//初始化窗体
        void setText(QString text);//设置显示文本
    signals:
        void clicked();//点击信号
    public slots:
        void inputText();//输入文本
        QString getText();
    private:
        QString _text;
        QPoint _center;
        QPoint beginPos;
        QMenu *menu; //右键菜单对象
        int _radius;
    public:
        bool _pressed;//单击按钮变色控制
    };
    
    #endif // CIRCLEBUTTON_H

    circlebutton.cpp文件

    #include "circlebutton.h"
    #include <QPainter>
    #include <QMouseEvent>
    #include <QInputDialog>
    #include <QLineEdit>
    
    
    CircleButton::CircleButton(QWidget *parent) :
        QWidget(parent),_text("CircleButton"),_center(30,30),_radius(20)
    {
        initForm();
    }
    CircleButton::CircleButton(const QString text, QPoint center,int radius,QWidget* parent):
        QWidget(parent),_text(text), _center(center),_radius(radius)
    {
        initForm();
    }
    
    void CircleButton::initForm()
    {
        _pressed = false;
        beginPos = this->pos();
        //无边框
        this->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowSystemMenuHint | Qt::WindowMinMaxButtonsHint|Qt::WindowStaysOnTopHint);
        /*  窗口整体透明,但窗口控件不透明*/
       this->setAttribute(Qt::WA_TranslucentBackground,true);
        menu = new QMenu(this);//创建右键菜单
        menu->addAction("设置文本", this, SLOT(inputText()));
        menu->addAction("退出", this, SLOT(close()));
    }
    void CircleButton::paintEvent(QPaintEvent *)
    {
        QPainter p(this);//将当前窗体作为画布
        QPen pen = QPen(Qt::red);
        pen.setWidth(1);
        p.setPen(pen);
        if(_pressed)
            p.setBrush(Qt::yellow);//粉刷为黄色
        else
            p.setBrush(QColor(255,255,255,1));
        p.drawText(QRect(_center.x()-_radius,_center.x()-_radius,2*_radius,2*_radius), _text, QTextOption(Qt::AlignCenter));//文本居中:QTextOption(Qt::AlignCenter)
    
        pen.setColor(QColor(255,255,255,1));
        p.setPen(pen);
        //画圆
        p.drawEllipse(_center,_radius,_radius);
    
    }
    void CircleButton::mousePressEvent(QMouseEvent *e)
    {
       if(e->button() == Qt::LeftButton && isContains(e->pos()))
        {
            _pressed = true;
            beginPos = e->pos();//鼠标相对窗体的位置
            update();//触发窗体重绘
        }
    
    }
    
    void CircleButton::mouseReleaseEvent(QMouseEvent *e)
    {
        _pressed = false;
        update();//触发窗体重绘
    
        if(isContains(e->pos()))//当鼠标点击按钮
            emit clicked();//发送点击信号
    
    }
    
    void CircleButton::mouseMoveEvent(QMouseEvent *e)       //--鼠标移动事件
    {
        if (_pressed)
        {//当前鼠标相对窗体的位置-刚按下左键时的相对位置=鼠标移动的大小
             this->move(e->pos() - beginPos + this->pos());
             //           鼠标移动的大小+窗体原来的位置=窗体移动后的位置
        }
    }
    
    void CircleButton::contextMenuEvent(QContextMenuEvent *)
    {
        this->setCursor(Qt::ArrowCursor);
        menu->exec(cursor().pos());
    }
    
    bool CircleButton::isContains(QPoint p)
    {
        return (_center.x()-_radius < p.x()
                && _center.x()+_radius > p.x()
                && _center.y()-_radius < p.y()
                && _center.y()+_radius > p.y());
    }
    void CircleButton::setText(QString text)
    {
        this->_text = text;
    }
    
    void CircleButton::inputText()
    {
        bool ok = false;
    
        QString text = QInputDialog::getText(this,tr("设置文本"),tr("请输入文本"),QLineEdit::Normal,getText(),&ok,0);
        if ( ok && !text.isEmpty() )
        {
            this->setText(text);
        }
    }
    void CircleButton::closeEvent(QCloseEvent * )
    {
        this->close();
    }
    QString CircleButton::getText()
    {
        return this->_text;
    }
    

    六、圆形按钮

           使用QSS样式实现圆形按钮。     

            效果:PushButton2是直接右键-->改变样式表,PushButton3是再代码控制的。

           工程结构: 

     布局:三个一样大小的PushButton 

      样式: 

    QPushButton{/*默认显示*/
    border-radius:70px;/*圆角弧度(为正方形边长一半时就是圆形)*/
    background-color:rgba(0,255,0,255);/*背景色*/
    }
    QPushButton:hover{/*鼠标悬停*/
    background-color:rgba(0,0,255,255);
    }
    QPushButton:pressed{/*鼠标按下*/
    background-color:rgba(255,0,0,255);
    }

     

    展开全文
  • C# 关于WinForm窗体程序的退出方法总结

    千次阅读 热门讨论 2019-03-09 10:05:09
    仅仅是关闭当前窗口,若不是主窗体的话程序无法退出。 2. Application.Exit();强制所有消息终止,退出所有的窗体。 3. Application.ExitThread();强制终止调用线程上的所有消息。 4. System.Environment.Exit(0);...
  • 如何 Access 2007 的窗体中实现点击按钮打开另一首先有4个名称分别为A、B、C、D的窗体,已经建立好了。...然后,窗体】窗口,绘制出命令按钮。Access点击按钮后,打开一个新的窗体,并且...
  • Author: binzhouweichao@163.com...Date: 2013-10-22 设置各窗体的弹出顺序,退出执行的操作,以及各窗体上的按钮事件。 1. 为项目添加静态全局变量 类似于之前所说,使用静态类完成全局变量的功能。为项目AttackDeci
  • 题目: 编写一个窗体应用,点击按钮按钮的背景颜色随机变化。 import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Random; import javax.swing.*...
  • 要求:在窗体上创建一个文本框组件、两个命令按钮组件,命令按钮的标题分别设置为“隐藏”和“退出”, 窗体背景色设置为“粉红”。单击“隐藏”按钮后文本框消失,该按钮标题变为“显示”,单击“显示”按钮显示出...
  • C语言API编写窗体界面和按钮

    万次阅读 多人点赞 2014-05-25 02:43:50
    主要是通过调用Windows API界面的CreateWindows函数完成,同时也能创建按钮,把参数设置为button,如果想响应该按钮,只需回调函数增加消息WM_COMMAND判断即可.该文章主要是怀念自己大一的学习生活,希望文章对大家...
  • 一.背景 在上一篇博客介绍了使用...其实最简单的方法就是每一个子窗体添加一个退出的按钮,但是由于退出按钮各个子窗体中,对其进行点击事件编写的时候,涉及到操作主窗体的tabControl的问题——即如...
  • access窗体中添加命令按钮,单击打开报表,请问需要设置为DoCmd.OpenReport "报表名", acViewPreview view 下列固有常量之一: acViewDesign acViewNormal(默认值) acViewPreview 如果该参数空缺,将假设为默认...
  • 一,工具箱添加notifyIcon控件,contextMenustrip控件 二,设置属性Icon ,Text ,visable(true),contextMenustrip, 三,添加窗体Closing()事件,加入代码: private void Form1_FormClosing(object sender...
  • 如何做到点击主窗体"X"按钮,能隐藏窗体,而不退出主程序?让我们先来分析窗体所响应的几个事件的先后顺序:一. 当前用户点击窗体"关闭",右上角上的"X"图标时的系统消息的响应顺序是: 1. 系统截获用户的点击消息,可通过...
  • 一,工具箱添加notifyIcon控件,contextMenustrip控件 二,设置属性Icon ,Text ,visable(true),contextMenustrip, 三,添加窗体Closing()事件,加入代码:  private void Form1_FormClosing(object ...
  • private void Form1_FormClosing(object sender,FormClosingEventArgs e){ if (DiaLogResult.OK == messageBox.Show("是否删除","Warning",MessageButtons.OKCancel,MessageIcon....//关闭本窗体 this.dispose();
  • 问题描述:登录窗体Login后执行下面代码...求大大帮助,main窗体里只有做个点击按钮执行 Application.Exit(); 才能关闭。要不然点windows 的大叉关闭不了,一直进程里。 问题解决: 教你一招 很实用的 这是
  • 窗体设计,需要点击菜单栏时显示...(2)添加代码(书写菜单栏的双击事件) (3)实现效果 (4)如果不需要最大化最小化和关闭按钮修改窗体的属性 contrBOX改为true formborderStyle修改为None ...
  • 分析:对于自定义窗体来说,最简单直接的做法就是让新窗体继承javax.swing.JDialog(对话框属于顶级窗口,跟JFrame同级),创建该窗体后加上setModalityType()就可实现打开新窗口后原窗口不能动作,关闭新窗口后...
  • c# 点击关闭窗体按钮事件

    万次阅读 2018-12-05 20:25:21
    很多时候需要程序退出之前做一些处理。比如提醒用户是否要保存更改的数据。 #实现 主要两点: 1.注册退出事件及要触发的函数。 2.写要触发的函数。 所需要的相关函数Form.Closing Event. #代码示例 今天正好要新写...
  • 新建一个面板From1,From1中添加一个Panel控件。如下: 再新建一个窗体命名为“子窗体”。窗体上放入若干控件,并设计好。 From1.s的From_Load函数添加如下代码: 子面板 newPanel = new 子面板(); //...
  • 前面的话项目,通常我们会用户选择退出系统时给出一定的提示,让用户确认是否...XAML文件中添加自定义的Closing事件方法在窗体的属性为Closing事件绑定方法 完成MainWindow_Closing()方法#region 窗体关闭
  • //这个类把floatbar所有的属性赋窗口上 HWND barWnd; MSG msg ; int x = (GetSystemMetrics(SM_CXSCREEN) - BACKGROUND_W) / 2; wnd_cls.cbSize = sizeof(WNDCLASSEX); wnd_cls.style = CS_HREDRAW | CS_...
  • C#0009--直接在窗体上绘图

    千次阅读 2014-05-27 22:14:17
    C#0009--直接在窗体上绘图
  • pyqt5: 退出按钮exit( )

    千次阅读 2019-07-17 17:57:53
    import sys from PyQt5.QtWidgets import QApplication, QWidget,QToolTip,QPushButton from PyQt5.QtGui import QIcon,QFont from PyQt5.QtCore import ...#demo_4:通过一个按钮关闭窗体 class Exception(QWid...
  • Power Apps 编辑窗体和显示窗体控件 目录 Power Apps 编辑窗体和显示窗体控件 描述 选择记录 创建记录 保存更改 实操记录&问题 成功案例 失败案例【待解决 在线等】 ...
  • 这样,关闭按钮处于不可用状态,不过不要忘记添加一个控件可以让窗体正常关闭,不然只能结束进程来退出程序了。   最小化 最大化按钮不显示可以使用两个属性: MaximumBox=false; ...
  • vc++如何给窗体添加背景图片

    千次阅读 2014-03-11 14:57:20
    VC是一个功能强大的可视化的开发工具,但是用VC做的标准界面与Windows一样色彩灰暗单调,例如多文档窗口应用程序的主框架窗口的背景便是如此。那么能否给主框架窗口的背景改变一下色彩或是给主框架窗口加上一幅...
  • 1.添加Web窗体到项目 Web 窗体是一项 ASP.NET 功能,您可以使用它为 Web 应用程序创建用户界面。Web 窗体页为您提供了一种强大而直接的编程模型,该模型使用您熟悉的快速应用程序开发 (RAD) 技术来生成基于 Web ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,507
精华内容 7,802
关键字:

如何在窗体中添加退出按钮