首页 > 编程语言 >C#WinForm案例 无法拒绝的表白

C#WinForm案例 无法拒绝的表白

时间:2024-11-06 12:15:26浏览次数:3  
标签:sender 表白 C# Text void object private button2 WinForm

  1.  当用户鼠标移动到按钮上,如果移动到"是的"按钮,不做任务处理,如果移动到"不是”按钮,则把两个按钮的显示文本进行互换。
  2. 当用户点击右上角“关闭“按钮的时候,提示“关闭窗口也改变不了你喜欢我的事实!",并且阻止窗体的关闭。
  3. 当用户点击两个按钮中任意一个的时候,提示"就知道你喜欢我!",并且退出程序。

 实现步骤

1、修改Form属性Icon更换图标

 

 使用 button,label 控件绘制界面  点击属性Text编辑文本,

2、在窗口类中编写按钮文本修改功能代码 使用MouseEnter 事件  功能需求1

MouseEnter事件当鼠标移动至控件是触发

private void button1_MouseEnter(object sender, EventArgs e)
{
    if (button1.Text.Equals("不  是"))
    {
        this.button1.Text = "是  的";
        this.button2.Text = "不  是";
    }
}

private void button2_MouseEnter(object sender, EventArgs e)
{
    if (this.button2.Text.Equals("不  是"))
    {
        this.button2.Text = "是  的";
        this.button1.Text = "不  是";
    }
}

3、编辑点击右上角关闭按钮提示功能 阻止用户关闭 功能需求2

使用Closing事件 ,当窗口关闭时触发

 private void Form1_FormClosing(object sender, FormClosingEventArgs e)
 {   //判断关闭操作是否用户点击右上角的关闭按钮
     if (e.CloseReason == CloseReason.UserClosing)
     {    //弹出提示框
         MessageBox.Show("关闭窗口也改变不了喜欢我的事实");
         e.Cancel = true; //阻止窗口关闭
     }

 }

4、实现当用户点击两个按钮中任意一个的时候,提示"就知道你喜欢我!",并且退出程序。

private void button1_Click(object sender, EventArgs e)
{
    MessageBox.Show("就知道你喜欢我!!!");
    Application.Exit();//退出程序

}
private void button2_Click(object sender, EventArgs e)
{
    MessageBox.Show("就知道你喜欢我!!!");
    Application.Exit();//退出程序
}

Form类完整代码

namespace WinFormsApp4
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("就知道你喜欢我!!!");
            Application.Exit();//退出程序

        }
        private void button2_Click(object sender, EventArgs e)
        {
            MessageBox.Show("就知道你喜欢我!!!");
            Application.Exit();//退出程序
        }

        private void label1_Click(object sender, EventArgs e)
        {

        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {   //判断关闭操作是否用户点击右上角的关闭按钮
            if (e.CloseReason == CloseReason.UserClosing)
            {
                MessageBox.Show("关闭窗口也改变不了喜欢我的事实");
                e.Cancel = true; //阻止窗口关闭
            }

        }

        private void button1_MouseEnter(object sender, EventArgs e)
        {
            if (button1.Text.Equals("不  是"))
            {
                this.button1.Text = "是  的";
                this.button2.Text = "不  是";
            }
        }

        private void button2_MouseEnter(object sender, EventArgs e)
        {
            if (this.button2.Text.Equals("不  是"))
            {
                this.button2.Text = "是  的";
                this.button1.Text = "不  是";
            }
        }

       
    }
}

标签:sender,表白,C#,Text,void,object,private,button2,WinForm
From: https://blog.csdn.net/gjw3037109961/article/details/143536325

相关文章

  • schbench源码分析
    schbench是meta开发的linux调度器benchmark工具,用来测试线程wakeup到占有cpu之间的延迟。如何使用schbench?schbench-t2-m1在schbench中有两个重要的概念,woker线程和message线程。message线程由主线程创建,worker线程由message线程创建。这就是schbench的线程模型。woker和......
  • C++ 逆向之 forward 函数与完美转发
    在进行std::forward函数的讲解之前,需要知道std::move的运行原理,还不是很清楚的朋友建议先看一下前置知识,本次内容是基于std::move内容的基础上进行讲解:C++逆向之move函数然后来讲解我们今天的主角:std::forward函数与完美转发。一、std::forward函数的作用std::forw......
  • 基于JavaScript的关键词过滤示例
    业务场景中,合作第三方的的各种AI内容审核模型,完全达不到满意的状态,奇怪这么简单的一个东西,有这么复杂吗,自己动手来一个DEMO,给开发,仅供参考。<!DOCTYPEhtml><htmllang="zh"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-wi......
  • CSP/信奥赛C++完整学习规划(价值2万的csp-j完整课程体系)
    CSP/信奥赛C++课程完整学习视频一站式掌握信奥赛知识冲刺信奥赛拿奖课程购买后永久学习,不受限制!阶段一:《信奥赛C++语法基础》课程目标:轻松入门C++语法课程链接:https://edu.csdn.net/course/detail/39557阶段二:《信奥赛C++语法进阶》课程目标:快速进阶C++语法......
  • 【HAProxy04】企业级反向代理HAProxy调度算法之Socat 工具
    HAProxy调度算法HAProxy通过固定参数balance指明对后端服务器的调度算法,该参数可以配置在listen或backend选项中。HAProxy的调度算法分为静态和动态调度算法,但是有些算法可以根据不同的参数实现静态和动态算法相互转换。官方文档:HAProxyversion2.4.15-Configurati......
  • web前端实现地址选择器精确到省市区街道(腾讯地图WebService API)
    目录先看效果,这里以移动端为例一、省市区街道选择器弹窗组件代码二、父组件引用“一”组件三、pc端效果总结先看效果,这里以移动端为例pc端稍微改下标签名和样式即可使用。一、省市区街道选择器弹窗组件代码html<template> <viewclass="page-content":styl......
  • 传统媒体终端移动化发展新趋势:融合开源 AI 智能名片与 S2B2C 商城小程序的创新探索
    摘要:本文围绕传统媒体在新媒体环境下终端移动化的发展展开论述。阐述了传统媒体终端移动化的现状、“三网融合”带来的技术保障以及智能终端和移动互联网技术对其转型的推动作用。进一步探讨将开源AI智能名片和S2B2C商城小程序融入传统媒体终端移动化发展的创新模式、潜在......
  • SVN集成ExcelMerge
    在SVN中对比表格差异时,如果只是一个sheet的CSV表格,SVN自带的diff效果也很好,如果是多个Sheet的xlsx表格,,SVN自带的diff效果就很差ExcelMerge是一个在Windows平台下比对Excel的工具,当Excel存在多个Sheet时也能很好的支持差异的比对,配合上svn可以很好的查看策划的数值表变化。具体细......
  • Linux离线安装gcc4.8
    Linux离线安装gcc4.8https://pan.baidu.com/s/1J-wVsAoTmfn_iiOnYSrmZApwd:beeelinux离线安装gcc4.8.5(简单易懂,已成功安装)联网的情况下直接使用命令yum-yinstallgcc安装。不能联网就需要离线安装了。步骤如下:获取离线安装包:可以使用我已经下载好的包,链接:https://p......
  • C.Swap
    iota:用从起始值开始连续递增的值填充一个范围,命名来源于希腊字母。如:iota(p+1,p+n+1,1);vector:emplace_back:在容器末尾原位构造元素。如:vector<pair<int,int>>vr[1000005];vr[r].emplace_back(i,k);结构化绑定声明(C++17):[标识符列表]=表达式。如:auto[id,v]=vr[i]基......