当前位置: 首页 > article >正文

64.进度条 C#例子 WPF例子

进度条是比较简单,前台一个进度条,后台给value赋值0到100就可以显示进度了。

完整代码:

using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace 进度条
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private async void Button_Click(object sender, RoutedEventArgs e)
        {
            Button button = (Button)sender;
            button.IsEnabled = false;
            await WaitAsync();
            button.IsEnabled = true;

        }

        public async Task WaitAsync()
        {
            for(int i = 0; i <= 100; i++)
            {
                await Task.Delay(50);
                ProgressBar1.Value = i;
                 使用调度器在UI线程上更新进度条,不过在这里不使用Dispatcher.Invoke也可以
                //System.Windows.Application.Current.Dispatcher.Invoke(() =>
                //{
                //    progressBar.Value = i; // 更新进度条的值
                //});
            }
        }
    }
}
<Window x:Class="进度条.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:进度条"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <ProgressBar x:Name="ProgressBar1" HorizontalAlignment="Left" Height="10" Margin="287,98,0,0" VerticalAlignment="Top" Width="100"/>
        <Button Content="Button" HorizontalAlignment="Left" Margin="287,133,0,0" VerticalAlignment="Top" Click="Button_Click"/>

    </Grid>
</Window>


http://www.kler.cn/a/534244.html

相关文章:

  • CTP查询资金费率和手续费没响应
  • 司库建设-融资需求分析与计划制定
  • Verilog基础(三):过程
  • SQL进阶实战技巧:如何构建用户行为转移概率矩阵,深入洞察会话内活动流转?
  • 【网络编程】Java高并发IO模型深度指南:BIO、NIO、AIO核心解析与实战选型
  • php反序列化
  • vue3中的ref相关的api及用法
  • 离散时间傅里叶变换(DTFT)公式详解:周期性与连续性剖析
  • matlab实现了一个多视角受限核机算法,结合了多个视角的数据进行二分类任务
  • 2.5学习总结
  • Unity渲染管线
  • Windows下从零开始基于Ollama与Open-WebUI本地部署deepseek R1详细指南(包含软件包和模型网盘下载)
  • Linux系统 环境变量
  • ​K8S运行时切换-从Docker到Containerd的切换实战
  • 软件测试丨PyTorch 简介
  • 后端【代码审查】C语言。
  • 使用 Axios 获取用户数据并渲染——个人信息设置+头像修改
  • (一)DeepSeek大模型安装部署-Ollama安装
  • VUE响应性系统和信号 (signal) 的联系
  • 大数据新视界 -- Hive 多租户资源分配与隔离(2 - 16 - 16)
  • 机器学习基本概念(附代码)
  • 算法 哈夫曼树和哈夫曼编码
  • 吴恩达深度学习——卷积神经网络实例分析
  • K8S Deployment 实现 蓝绿 发布
  • 关于19C的审计日志
  • 试试DeepSeek写prompt+stable diffusion生成漫画