了解WPF控件:RadioButton和RepeatButton常用属性与用法(九)

掌握WPF控件:熟练常用属性(九)

RadioButton

  • 一种允许用户在一组选项中单选一个的控件。通常用于提供一组互斥的选项供用户选择。
常用属性描述
Content用于设置 RadioButton 显示的文本内容。
GroupName用于将多个 RadioButton 控件组合到一组中,同一组内的 RadioButton 是互斥的,用户只能选择其中一个。不同组的 RadioButton 控件不具有互斥的关系。
Checked用于获取或设置是否选中,选中为true否则为false。
  • 下面 写个例子
 <Grid>
     <Grid.ColumnDefinitions>
         <ColumnDefinition></ColumnDefinition>
         <ColumnDefinition></ColumnDefinition>
     </Grid.ColumnDefinitions>
     <!--这里没有设置分组-->
     <GroupBox  Grid.Column="0" HorizontalAlignment="Right"  Header="这里是单选只有一组" Height="200">
         <StackPanel>
             <RadioButton Content="红色" Foreground="Red" Margin="0,5,0,5"></RadioButton>
             <RadioButton Content="橙色"  Foreground="Orange" Margin="0,5,0,5"></RadioButton>
             <RadioButton Content="绿色"  Foreground="Green"  Margin="0,5,0,5"></RadioButton>
             <RadioButton Content="蓝色"  Foreground="Blue" Margin="0,5,0,5"></RadioButton>
             <RadioButton Content="靛色"  Foreground="Indigo" Margin="0,5,0,5"></RadioButton>
             <RadioButton Content="紫色"  Foreground="Violet" Margin="0,5,0,5"></RadioButton>
         </StackPanel>
     </GroupBox>
      
      <!--这里设置分组-->
     <GroupBox  Grid.Column="1" HorizontalAlignment="Left" Margin="10,0,0,0"  Header="这是有分组单选" Height="200">
         <StackPanel>
             <RadioButton GroupName="oneGroup"  Content="红色" Foreground="Red" Margin="0,5,0,5"></RadioButton>
             <RadioButton GroupName="oneGroup" Content="橙色"  Foreground="Orange" Margin="0,5,0,5"></RadioButton>
             <RadioButton GroupName="oneGroup" Content="绿色"  Foreground="Green"  Margin="0,5,0,5"></RadioButton>
             <Separator/>
             <RadioButton GroupName="twoGroup" Content="蓝色"  Foreground="Blue" Margin="0,5,0,5"></RadioButton>
             <RadioButton GroupName="twoGroup" Content="靛色"  Foreground="Indigo" Margin="0,5,0,5"></RadioButton>
             <RadioButton  GroupName="twoGroup" Content="紫色"  Foreground="Violet" Margin="0,5,0,5"></RadioButton>
         </StackPanel>
     </GroupBox>
 </Grid>

RadioButton

RepeatButton

  • 是一个特殊的按钮,用于在用户长按或连续点击时重复执行特定动作。它通常用于需要重复执行某个操作的场景。
常用属性描述
Delay用于获取或设置 RepeatButton 在开始重复之前被按下时等待的时间(以毫秒为单位)。 该值必须为非负数。
Interval用于获取或设置开始重复后重复之间的时间间隔(以毫秒为单位)。 该值必须为非负数。
  • 下面写个例子
<Grid>
    <StackPanel Margin="0,20,0,0">

        <TextBlock   Width="350"  Margin="0,20,0,20"  TextAlignment="Center" Foreground="Red"  FontSize="16" Text="注意查看延迟和重复效果需要鼠标按住按钮不放"></TextBlock>

        <!--第一个按钮设置点击延迟500毫秒触发,触发后100毫秒执行事件一次-->
        <RepeatButton Width="100"   Delay="500" Interval="100"  Height="30" Background="Blue"  Foreground="White" Click="Increase">增加 1 </RepeatButton>

        <TextBlock x:Name="myTextBlock"  Width="100"  Margin="0,10,0,10"  TextAlignment="Center" FontSize="16">0</TextBlock>

        <!--第二个按钮也设置点击延迟500毫秒触发,触发后100毫秒执行事件一次-->
        <RepeatButton Width="100"   Delay="500" Interval="100"  Height="30" Background="Green"  Foreground="White"  Click="Decrease">减少 1</RepeatButton>

        <TextBlock x:Name="myViewTextBlock"  Width="350"  Margin="0,20,0,20"  TextAlignment="Center" Foreground="Orange"  FontSize="16" Text=""></TextBlock>


    </StackPanel>
    
</Grid>
using System.Windows;

namespace WpfCommonControls
{
    /// <summary>
    /// RepeatButton.xaml 的交互逻辑
    /// </summary>
    public partial class RepeatButton : Window
    {
        private DateTime? lastClickTime = null;//定义一个变量上次时间
        public RepeatButton()
        {
            InitializeComponent();
        }

        
        private void Increase(object sender, RoutedEventArgs e)
        {
            var currentTime = DateTime.Now;
            if (lastClickTime.HasValue)
            {
                var intervalElapsed = currentTime - lastClickTime.Value;
                myViewTextBlock.Text = $"\n上次时间 {intervalElapsed.TotalMilliseconds} 毫秒前。";
            }
            else
            {
                myViewTextBlock.Text = "首次点击";
            }
            lastClickTime = currentTime;
            //增加
            myTextBlock.Text = $"{Convert.ToInt32(myTextBlock.Text.ToString()) + 1}";
        }

        private void Decrease(object sender, RoutedEventArgs e)
        {
            var currentTime = DateTime.Now;
            if (lastClickTime.HasValue)
            {
                var intervalElapsed = currentTime - lastClickTime.Value;
                myViewTextBlock.Text = $"上次时间 {intervalElapsed.TotalMilliseconds} 毫秒前。";
            }
            else
            {
                myViewTextBlock.Text = "首次点击";
            }
            lastClickTime = currentTime;
            //减少
            int num = Convert.ToInt32(myTextBlock.Text.ToString());
            if (num > 0)
                myTextBlock.Text = $"{num - 1}";
        }
    }
}

RepeatButton

公众号“点滴分享技术猿

关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/345420.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

船的最小载重量-算法

说明&#xff1a;题解完全是从leetCode上拉下来的&#xff0c;在这里只是作为一个备份&#xff0c;怕之后找不着了。同时也分享给大家&#xff0c;这个题目用了一个我之前从未遇到的思路。 原题&#xff1a;船的最小载重量-leetCode1101 题目&#xff08;看懂题目了吗&#xff…

python批量处理修改pdf内容

将PDF转换为Word&#xff1a; 使用pdf2docx库中的Converter类来进行PDF转换。convert_pdf_to_docx函数接受PDF文件路径和输出的Word文档路径作为参数。通过调用Converter对象的convert方法将PDF转换为Docx格式。最后调用close方法关闭Converter对象并保存转换后的文档。 将Word…

QT下载、安装详细教程[Qt5.15及Qt6在线安装,附带下载链接]

QT5.15及QT6的下载和安装 1.下载1.1官网下载1.2国内镜像网站下载 2.安装3.软件启动及测试程序运行3.1Qt Creator&#xff08;Community&#xff09; 1.下载 QT自Qt5.15版本后不在支持离线安装包下载(非商业版本&#xff0c;开源)&#xff0c;故Qt5.15及Qt6需要使用在线安装程序…

Zephyr 源码调试

背景 调试环境对于学习源码非常重要&#xff0c;但嵌入式系统的调试环境搭建稍微有点复杂&#xff0c;需要的条件略多。本文章介绍如何在 Zephyr 提供的 qemu 上调试 Zephyr 源码&#xff0c;为后续分析 Zephyr OS 相关原理做铺垫。 环境 我的开发环境为 wsl ubuntu&#xf…

使用 LlamaIndex 部署本地 Mistral-7b 大模型实现 RAG

原理 LlamaIndex的文档链接&#xff1a;Using LLMs - LlamaIndex &#x1f999; 0.9.33 LlamaIndex 的一般使用模式如下&#xff1a; 加载文档&#xff08;手动或通过数据加载器)将文档解析为节点构建索引&#xff08;来自节点或文档)&#xff08;可选&#xff0c;高级&…

Java内存模型

主内存与工作内存 Java内存模型的主要目标是定义程序中各个变量的访问规则&#xff0c;即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。此处的变量包括实例变量、静态字段和构成数组对象的元素&#xff0c;但不包括局部变量与方法参数&#xff0c;因为局部变…

GreptimeAI + Xinference 联合方案:高效部署并监控你的 LLM 应用

随着人工智能技术的迅速进步&#xff0c;OpenAI 已经崭露头角&#xff0c;成为该领域的领军者之一。它在多种语言处理任务上表现卓越&#xff0c;包括机器翻译、文本分类和文本生成等方面。随着 OpenAI 的兴起&#xff0c;同时涌现的还有许多其他优质的开源大语言模型&#xff…

函数递归(Recursion)一篇便懂

递归的概念 在 C 语言中&#xff0c;递归&#xff08;Recursion&#xff09;是一种函数调用自身的编程技术。当一个函数在其定义中调用自身时&#xff0c;就称为递归函数。 了解递归思想 把⼀个大型复杂问题层层转化为⼀个与原问题相似&#xff0c;但规模较小的子问题来求解…

OpenAI Altman曝光GPT-5后,你对未来大模型有什么期待?

最近OpenAI首席执行官 Sam Altman 在达沃斯论坛接受媒体采访时表示&#xff0c;他现在的首要任务就是推出下一代大模型&#xff0c;这款模型可能被称为GPT-5&#xff0c;与现有模型相比&#xff0c;GPT-5 “能做更多、更多的事情”。 Altman认为GPT-5仍处于早期阶段&#xff0…

运维神器Ansible的常用模块

引言&#xff1a;话不多说&#xff0c;今天分享一下Ansible的常用模块&#xff0c;建议收藏哦 1、ping模块 ping模块可以进行主机连通性测试 命令格式 ansible 主机或主机组 -m ping 例&#xff0c;成功显示如下&#xff1a; 2、command 模块 command模块可以直接在远程主机…

java并发面试题

目录 一.线程基础 1.线程和进程的区别 2.并行和并发的区别 3.创建线程的方式 4.线程包括哪些状态,状态之间如何变化 5.如何保证线程间按顺序执行 6.notify()和notifyAll()的区别 7.java中wait和sleep方法的区别 8.如何停止正在运行的线程 二.线程安全 1.synchronized…

springboot121编程训练系统设计与实现

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的编程训练系统设计与实现 适用于计算机类毕业设计&#xff0c;课程设计参考与学习用途。仅供学习参考&#xff0c; 不得用于商业或者非法用途&#xff0c;否则&#xff0c;一切后果请用户自负。 看运行截图看 第五章 第四…

liunx服务异常分析

systemd-journald 服务分析系统日志 实验环境&#xff1a;本地 Centos 7 请勿在 vps 服务器上操作&#xff01;&#xff01;&#xff01; 1 systemd-journald 介绍 systemd-journald 是一个收集并存储各类日志数据的系统服务。 它创建并维护一个带有索引的、 结构化的日志数据…

浅谈WPF之UI布局

一个成功的软件&#xff0c;离不开人性化的UI设计&#xff0c;如何抓住用户第一视觉&#xff0c;让用户产生依赖感&#xff0c;合适优雅的布局必不可少。本文以一些简单的小例子&#xff0c;简述WPF中布局 面板 控件的使用&#xff0c;仅供学习分享使用&#xff0c;如有不足之处…

学习笔记-李沐动手学深度学习(二)(08-09、线性回归、优化算法、Softmax回归、损失函数、图片分类)

总结 以_结尾的方法&#xff0c;好像是原位替换&#xff08;即 原地修改&#xff0c;就地修改变量&#xff09;如 fill_() 感恩的心&#xff1a;&#xff08;沐神的直播环境&#xff09; 08-线性回归基础优化算法 引言&#xff08;如何在美国买房&#xff09; 根据现在行…

51单片机ESP8266

一、MQTT透传AT固件 安信可提供的烧录WiFi固件工具&#xff1a; 链接: https://docs.ai-thinker.com/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B72 安信可提供的固件库链接: https://docs.ai-thinker.com/%E5%9B%BA%E4%BB%B6%E6%B1%87%E6%80%BB 经过测试&#xff0c;选择这个不可以…

LeetCode刷题---删除排序链表中的重复元素 II

解题思路: 1.首先定义虚拟节点dummy,dummy的下一个节点指向head节点。 2.定义辅助节点cur指向dummy节点 3.开始遍历链表&#xff0c;如果当前节点cur的下一个节点和下下一个节点都不为空的情况下&#xff0c;对cur的下一个节点和下下一个节点的值进行判断。 4.如果当前节点cur的…

Python基础第九篇(Python可视化的开发)

文章目录 一、json数据格式&#xff08;1&#xff09;.转换案例代码&#xff08;2&#xff09;.读出结果 二、pyecharts模块介绍三、pyecharts模块入门&#xff08;1&#xff09;.pyecharts模块安装&#xff08;2&#xff09;.pyecharts模块操作&#xff08;1&#xff09;.代码…

洛谷刷题-【入门2】分支结构

目录 1.苹果和虫子 题目描述 输入格式 输出格式 输入输出样例 2.数的性质 题目描述 输入格式 输出格式 输入输出样例 3.闰年判断 题目描述 输入格式 输出格式 输入输出样例 4.apples 题目描述 输入格式 输出格式 输入输出样例 5.洛谷团队系统 题目描述 …

什么是信号抖动

对于抖动&#xff0c;有一个简单而直观的定义&#xff1a; “Jitter is defined as the short-term variations of a digital signal’s significant instants from their ideal positions in time.” 翻译过来&#xff0c;就是&#xff1a; “抖动被定义为一个数字信号的重要时…