国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

你們眼睛干澀,脹痛嗎?C# WPF 久坐提醒桌面小程序 - 內(nèi)附 眼肌運(yùn)動(dòng)、遠(yuǎn)視力表高清圖

這篇具有很好參考價(jià)值的文章主要介紹了你們眼睛干澀,脹痛嗎?C# WPF 久坐提醒桌面小程序 - 內(nèi)附 眼肌運(yùn)動(dòng)、遠(yuǎn)視力表高清圖。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

目錄
  • 說(shuō)明
    • 設(shè)置提醒時(shí)間,及休息時(shí)間
    • 久坐提醒倒計(jì)時(shí)
    • 休息提醒倒計(jì)時(shí)
    • 休息到計(jì)時(shí)
  • 代碼說(shuō)明
    • 主窗體設(shè)置
    • 工作到計(jì)時(shí)
    • 休息倒計(jì)時(shí)
  • 源碼
  • 高清圖

久坐提醒桌面小程序: 干這行職業(yè)病比較多,之前用愛(ài)麗(即:玻璃酸鈉滴眼液),用的時(shí)候挺舒服,緩解吧,不過(guò)治標(biāo)不治本。
注意休息,加強(qiáng)鍛煉非常有必要,每工作1小時(shí),休息10分鐘(程序中有鎖鍵盤(pán)鼠標(biāo)的功能,那個(gè)太狠了,萬(wàn)一領(lǐng)導(dǎo)要東西電腦鎖住了尷尬了,被我注釋了),看看遠(yuǎn)方,辦公桌上放盤(pán)綠值,沒(méi)事的時(shí)候看看,站個(gè)樁,或者高架馬步,馬步扎得好,到老疾病少,不過(guò)注意別把膝蓋搞壞了,我玩得狠現(xiàn)在有積液了 ??

八段錦真的不錯(cuò),可以練練,B站上選那種帶呼吸版的

網(wǎng)上下的一些小程序,達(dá)不到自己想要的效果,要么就是功能復(fù)雜,于是選擇了自己開(kāi)發(fā)。
圖片來(lái)源于給小孩買(mǎi)的掛貼,貼墻上看的。于是自己網(wǎng)上找了圖片當(dāng)成鎖屏圖片使用了。稍微看看,總比一起盯著代碼要好,不建議長(zhǎng)時(shí)間看,那樣的話眼睛還是沒(méi)離開(kāi)顯示器,久坐提醒主要是提醒起來(lái)走走動(dòng)動(dòng)

采用WPF 基于HandyControl 開(kāi)發(fā)的小程序。

  1. 有2年不寫(xiě)WPF開(kāi)發(fā)了,練練手
  2. 平時(shí)工作一坐就是半天,眼睛不怎么好了,干眼嚴(yán)重

說(shuō)明

設(shè)置提醒時(shí)間,及休息時(shí)間

默認(rèn)50分鐘休息10分鐘,按整點(diǎn)算(強(qiáng)迫癥),如果工作不足10分鐘,則將時(shí)間加到下一輪中。
取消整點(diǎn)勾選,從開(kāi)始時(shí)計(jì)劃
你們眼睛干澀,脹痛嗎?C# WPF 久坐提醒桌面小程序 - 內(nèi)附 眼肌運(yùn)動(dòng)、遠(yuǎn)視力表高清圖

久坐提醒倒計(jì)時(shí)

開(kāi)始后右下角有小球球,顯示倒計(jì)時(shí),像360那樣的窗口懸停吸附不知道怎么做,沒(méi)繼續(xù)研究
你們眼睛干澀,脹痛嗎?C# WPF 久坐提醒桌面小程序 - 內(nèi)附 眼肌運(yùn)動(dòng)、遠(yuǎn)視力表高清圖

休息提醒倒計(jì)時(shí)

距休息10秒時(shí),窗體會(huì)顯示到最上層,同時(shí)字體顏色變?yōu)辄S色
你們眼睛干澀,脹痛嗎?C# WPF 久坐提醒桌面小程序 - 內(nèi)附 眼肌運(yùn)動(dòng)、遠(yuǎn)視力表高清圖

休息到計(jì)時(shí)

從網(wǎng)上找的護(hù)眼圖片,可以照著練練,再起來(lái)走一走。按ESC退出 或者時(shí)間到了繼續(xù)下一輪倒計(jì)時(shí)
不建議看的時(shí)間太長(zhǎng),因?yàn)槟菢拥脑?,你的眼睛還是沒(méi)有離開(kāi)電腦
你們眼睛干澀,脹痛嗎?C# WPF 久坐提醒桌面小程序 - 內(nèi)附 眼肌運(yùn)動(dòng)、遠(yuǎn)視力表高清圖

代碼說(shuō)明

設(shè)置界面、倒計(jì)時(shí)、休息界面,三個(gè)頁(yè)面,通過(guò) VmReminder 進(jìn)行數(shù)據(jù)共享
依賴(lài)庫(kù)

  • .Net Framework 4.5
  • HandyControl 3.2

主窗體設(shè)置

這是基本框架,參考Office設(shè)計(jì),右上解可擴(kuò)展【設(shè)置】、【幫助】功能,可用于其它項(xiàng)目
設(shè)置工作時(shí)長(zhǎng)、休息時(shí)長(zhǎng),默認(rèn)從整點(diǎn)開(kāi)始計(jì)時(shí)(有強(qiáng)迫癥)

MainWindow.xaml

private void BtnStart_OnClick(object sender, RoutedEventArgs e)
{
    _vm.IsHourly = chkHourly.IsChecked.HasValue && chkHourly.IsChecked.Value;
    _vm.WorkValue = (int)numWork.Value;
    _vm.BreakValue = (int)numBreak.Value;
    //開(kāi)始后,調(diào)用倒計(jì)時(shí)窗體,并將倒計(jì)時(shí)窗體設(shè)為主窗體,否則點(diǎn)拖盤(pán)圖標(biāo),會(huì)彈出設(shè)置窗體
    CountDown countDown = new CountDown();
    countDown.DataContext = this._vm;
    countDown.InitData();
    Application.Current.MainWindow = countDown;
    countDown.Show();
    this.Close();
}

工作到計(jì)時(shí)

窗口倒計(jì)時(shí)時(shí),顯示在窗口右下角,
CountDown.xml
托盤(pán)圖標(biāo)--放在這個(gè)窗體下的原因,是因?yàn)?休息轉(zhuǎn)工作時(shí),避免托盤(pán)下會(huì)出現(xiàn)多個(gè)圖標(biāo)

<hc:NotifyIcon x:Name="NotifyIcon" Click="NotifyIconContextContent_OnClick"
               Text="久坐提醒"
               Visibility="Visible"
               Icon="/Application.ico">
    <hc:NotifyIcon.ContextMenu>
        <ContextMenu>
            <MenuItem Click="Settings_OnClick" Header="設(shè)置"/>
            <MenuItem Click="Exit_OnClick" Header="退出"/>
        </ContextMenu>
    </hc:NotifyIcon.ContextMenu>
    <hc:Interaction.Triggers>
        <hc:EventTrigger EventName="Click">
            <!--<hc:EventToCommand Command="hc:ControlCommands.PushMainWindow2Top"/>-->
        </hc:EventTrigger>
    </hc:Interaction.Triggers>
</hc:NotifyIcon>

WPF StringFormat="{}{0:0#}:{1:0#}" 顯示倒計(jì)時(shí),格式化,如果個(gè)位數(shù)時(shí),前面補(bǔ)0

<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" >
    <TextBlock HorizontalAlignment="Center" Margin="5" Style="{StaticResource TextBlockLargeBold}" Foreground="White">
        <TextBlock.Text>
            <MultiBinding StringFormat="{}{0:0#}:{1:0#}">
                <Binding Path="CountDownWorkMinute" />
                <Binding Path="CountDownWorkSecond" />
            </MultiBinding>
        </TextBlock.Text>
    </TextBlock>
</StackPanel>
/// <summary>
/// 窗口顯示在右下角
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void CountDown_Loaded(object sender, System.Windows.RoutedEventArgs e)
{
    var desktopWorkingArea = System.Windows.SystemParameters.WorkArea;
    this.Left = desktopWorkingArea.Right - this.Width;
    this.Top = desktopWorkingArea.Bottom - this.Height;
}

通過(guò)定時(shí)器,工作實(shí)現(xiàn)倒計(jì)時(shí)功能

private void Timer_OnTick(object sender, EventArgs e)
{
    Remind();

    //倒計(jì)時(shí)時(shí)結(jié)束,彈出休息窗口
    if (_vm.CountDownWorkMinute == 0 && _vm.CountDownWorkSecond == 0)
    {
        _timer.Stop();
        NotifyIcon.Visibility = Visibility.Hidden;
        WorkBreak workBreak = new WorkBreak();
        Application.Current.MainWindow = workBreak;
        workBreak.DataContext = this._vm;
        workBreak.InitData();
        workBreak.ShowDialog();
        this.Close();
        return;
    }
    //如果分鐘大于0,秒=0,那分-1,秒>0 秒-1
    if (_vm.CountDownWorkMinute > 0)
    {
        if (_vm.CountDownWorkSecond > 0)
        {
            _vm.CountDownWorkSecond--;
        }
        else
        {
            _vm.CountDownWorkMinute--;
            _vm.CountDownWorkSecond = 60;
        }
    }

    if (_vm.CountDownWorkMinute == 0)
    {
        _vm.CountDownWorkSecond--;
    }
}

休息倒計(jì)時(shí)

休息窗體顯示兩護(hù)眼張圖片和一個(gè)休息到計(jì)時(shí),按ESC時(shí)可取消本次休息,
WorkBreak.xaml

<base:BaseWindow x:Class="VipReminder.Views.WorkBreak"
                 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:base="clr-namespace:Base.Base"
                 mc:Ignorable="d" KeyDown="WorkBreak_OnKeyDown"
                 Title="WorkBreak" Height="450" Width="800">
    <DockPanel Background="#00a54f">
        <DockPanel Dock="Bottom" >
            <TextBlock HorizontalAlignment="Center" Margin="5" Style="{StaticResource TextBlockLargeBold}" Foreground="White">
                <TextBlock.Text>
                    <MultiBinding StringFormat="{}{0:0#}:{1:0#}">
                        <Binding Path="CountDownBreakMinute" />
                        <Binding Path="CountDownBreakSecond" />
                    </MultiBinding>
                </TextBlock.Text>
            </TextBlock>
        </DockPanel>
        <DockPanel Dock="Left">
            <Image Source="/Styles/Images/001.jpg"/>
        </DockPanel>
        <DockPanel Dock="Right">
             <Image Source="/Styles/Images/002.jpg"/>
        </DockPanel>
    </DockPanel>
</base:BaseWindow>

WorkBreak.xaml.cs

namespace VipReminder.Views
{
    /// <summary>
    /// WorkBreak.xaml 的交互邏輯
    /// </summary>
    public partial class WorkBreak
    {

        // 定時(shí)器
        private DispatcherTimer _timer;

        public VmReminder _vm;



        public WorkBreak()
        {
            InitializeComponent();
            WindowState = WindowState.Maximized; //全屏顯示
            ShowInTaskbar = false;   //任務(wù)欄不顯示圖標(biāo) 
            Topmost = true; //窗體最前端顯示
            //this.countDown = countDown; == TODO CountDown 單例
        }

        private void WorkBreak_OnKeyDown(object sender, KeyEventArgs e)
        {
            if (e.Key == Key.Escape)//Esc鍵  
            {
                OpenCountDown();
            }
        }

        private void OpenCountDown()
        {
            CountDown countDown = new CountDown();
            Application.Current.MainWindow = countDown;
            countDown.DataContext = this._vm;
            countDown.InitData();
            countDown.Show();
            _timer.Stop();
            this.Close();
        }


        public void InitData()
        {
            _vm = DataContext as VmReminder;

            this.ShowInTaskbar = false;  //任務(wù)欄不顯示圖標(biāo)

            _vm.CountDownBreakMinute = _vm.BreakValue;
            _vm.CountDownBreakSecond = 0;

            _timer = new DispatcherTimer();
            _timer.Tick += Timer_OnTick;
            _timer.Interval = TimeSpan.FromSeconds(1);
            _timer.Start();

            //KeyboardBlocker.off();//鎖鍵盤(pán)
        }


        private void Timer_OnTick(object sender, EventArgs e)
        {
            //倒計(jì)時(shí)時(shí)結(jié)束,彈出休息窗口
            if (_vm.CountDownBreakMinute == 0 && _vm.CountDownBreakSecond == 0)
            {
                _timer.Stop();
                OpenCountDown();
                return;
            }
            //如果分鐘大于0,秒=0,那分-1,秒>0 減秒
            if (_vm.CountDownBreakMinute > 0)
            {
                if (_vm.CountDownBreakSecond > 0)
                {
                    _vm.CountDownBreakSecond--;
                }
                else
                {
                    _vm.CountDownBreakMinute--;
                    _vm.CountDownBreakSecond = 60;
                }
            }

            if (_vm.CountDownBreakMinute == 0)
            {
                _vm.CountDownBreakSecond--;
            }
        }

    }
}

源碼

程序下載:https://gitee.com/VipSoft/Reminder/releases/download/V1.0/VipReminder.zip
源碼地址:https://gitee.com/VipSoft/Reminder

高清圖

眼肌運(yùn)動(dòng)高清圖下載文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-633071.html

你們眼睛干澀,脹痛嗎?C# WPF 久坐提醒桌面小程序 - 內(nèi)附 眼肌運(yùn)動(dòng)、遠(yuǎn)視力表高清圖你們眼睛干澀,脹痛嗎?C# WPF 久坐提醒桌面小程序 - 內(nèi)附 眼肌運(yùn)動(dòng)、遠(yuǎn)視力表高清圖
點(diǎn)擊查看高清圖

到了這里,關(guān)于你們眼睛干澀,脹痛嗎?C# WPF 久坐提醒桌面小程序 - 內(nèi)附 眼肌運(yùn)動(dòng)、遠(yuǎn)視力表高清圖的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • WPF 實(shí)現(xiàn) Message 消息提醒控件

    WPF 實(shí)現(xiàn) Message 消息提醒控件 控 件:Message 作 者:WPFDevelopersOrg - 驚鏵 原文鏈接:https://github.com/WPFDevelopersOrg/WPFDevelopers 框架使用 .NET4 至 .NET6 ; Visual Studio 2022 ; 接著上一篇 1)新增 MessageListBoxItem.cs 代碼如下: 新增了名為 MessageType 的依賴(lài)屬性,類(lèi)型為 MessageBoxImage ,默認(rèn)值為

    2024年02月16日
    瀏覽(24)
  • 怎么在桌面查看備忘錄新的提醒事項(xiàng)?方法教程

    怎么在桌面查看備忘錄新的提醒事項(xiàng)?方法教程

    在這個(gè)信息爆炸的時(shí)代,我們每天都面臨著無(wú)數(shù)的任務(wù)和提醒。作為一名忙碌的職場(chǎng)人,我經(jīng)常需要依賴(lài)備忘錄來(lái)記錄重要的待辦事項(xiàng),以免遺漏。備忘錄,就像我生活中的小助手,幫我記下工作會(huì)議、生日提醒、購(gòu)物清單等等,無(wú)時(shí)無(wú)刻不在為我分擔(dān)記憶的壓力。 然而,僅

    2024年01月17日
    瀏覽(21)
  • 測(cè)試開(kāi)源C#人臉識(shí)別模塊ViewFaceCore(5:質(zhì)量檢測(cè)和眼睛狀態(tài)檢測(cè))

    測(cè)試開(kāi)源C#人臉識(shí)別模塊ViewFaceCore(5:質(zhì)量檢測(cè)和眼睛狀態(tài)檢測(cè))

    ?? ViewFaceCore模塊中的FaceQuality支持預(yù)測(cè)人臉質(zhì)量 ,最初以為是預(yù)測(cè)人體體重,實(shí)際測(cè)試過(guò)程中才發(fā)現(xiàn)是評(píng)估人臉圖片質(zhì)量,主要調(diào)用Detect函數(shù)執(zhí)行圖片質(zhì)量檢測(cè)操作,其函數(shù)原型如下所示: ??調(diào)用FaceQuality進(jìn)行人臉質(zhì)量檢測(cè)主要包括以下步驟: ??1)調(diào)用faceDetector類(lèi)獲

    2024年02月15日
    瀏覽(26)
  • [C#]winform利用seetaface6實(shí)現(xiàn)C#人臉檢測(cè)活體檢測(cè)口罩檢測(cè)年齡預(yù)測(cè)性別判斷眼睛狀態(tài)檢測(cè)

    [C#]winform利用seetaface6實(shí)現(xiàn)C#人臉檢測(cè)活體檢測(cè)口罩檢測(cè)年齡預(yù)測(cè)性別判斷眼睛狀態(tài)檢測(cè)

    【官方框架地址】 https://github.com/ViewFaceCore/ViewFaceCore 【算法介紹】 SeetaFace6是由中國(guó)科技公司自主研發(fā)的一款人臉識(shí)別技術(shù),它基于深度學(xué)習(xí)算法,能夠快速、準(zhǔn)確地識(shí)別出人臉,并且支持多種應(yīng)用場(chǎng)景,如門(mén)禁系統(tǒng)、移動(dòng)支付、安全監(jiān)控等。SeetaFace6的識(shí)別準(zhǔn)確率高達(dá)99%以上

    2024年01月21日
    瀏覽(27)
  • wpf調(diào)用遠(yuǎn)程桌面

    wpf調(diào)用遠(yuǎn)程桌面

    最近需要開(kāi)發(fā)一個(gè)WPF 調(diào)用遠(yuǎn)程桌面的功能,網(wǎng)上找了一些資料+自己測(cè)試。發(fā)現(xiàn)有一些坑,這里記錄一下。避免以后遇到同類(lèi)問(wèn)題。 1.控件選擇 主要利用的是微軟的自帶的遠(yuǎn)程桌面連接控件,我嘗試的是 AxMsRdpClient8 和AxMsRdpClient8NotSafeForScripting這兩個(gè)控件。 經(jīng)過(guò)嘗試,AxMsRdp

    2024年02月04日
    瀏覽(11)
  • [C#]OpenCvSharp結(jié)合yolov8-face實(shí)現(xiàn)L2CS-Net眼睛注視方向估計(jì)或者人臉朝向估計(jì)

    [C#]OpenCvSharp結(jié)合yolov8-face實(shí)現(xiàn)L2CS-Net眼睛注視方向估計(jì)或者人臉朝向估計(jì)

    github地址:https://github.com/Ahmednull/L2CS-Net L2CS-Net介紹: 眼睛注視(eye gaze) 是在各種應(yīng)用中使用的基本線索之一。 它表示用戶(hù)在人機(jī)交互和開(kāi)放對(duì)話系統(tǒng)中的參與程度。此外,它還被用于增強(qiáng)現(xiàn)實(shí),用于預(yù)測(cè)用戶(hù)的注意力,從而提高設(shè)備的感知能力,降低功耗。 因此,研究人

    2024年01月16日
    瀏覽(26)
  • WPF如何構(gòu)建MVVM+模塊化的桌面應(yīng)用

    WPF如何構(gòu)建MVVM+模塊化的桌面應(yīng)用

    模塊化是一種分治思想,不僅可以分離復(fù)雜的業(yè)務(wù)邏輯,還可以進(jìn)行不同任務(wù)的分工。模塊與模塊之間相互獨(dú)立,從而構(gòu)建一種松耦合的應(yīng)用程序,便于開(kāi)發(fā)和維護(hù)。 .NET 6 + WPF + Prism (v8.0.0.1909) + HandyControl (v3.4.0) 什么是MVVM Model-View-ViewModel? 是一種軟件架構(gòu)設(shè)計(jì),它是一種簡(jiǎn)化

    2024年02月13日
    瀏覽(31)
  • 桌面軟件開(kāi)發(fā)框架 Electron、Qt、WPF 和 WinForms 怎么選?

    桌面軟件開(kāi)發(fā)框架 Electron、Qt、WPF 和 WinForms 怎么選?

    Electron 是一個(gè)基于 Web 技術(shù)的跨平臺(tái)桌面應(yīng)用程序開(kāi)發(fā)框架。它使用 HTML、CSS 和 JavaScript 來(lái)構(gòu)建應(yīng)用程序界面,并借助 Chromium 渲染引擎提供強(qiáng)大的頁(yè)面渲染能力。Electron 的主要特點(diǎn)包括: 跨平臺(tái):Electron 可以在 Windows、macOS 和 Linux 等多個(gè)主流操作系統(tǒng)上運(yùn)行,為開(kāi)發(fā)者提供了

    2024年02月12日
    瀏覽(20)
  • 工控視覺(jué)項(xiàng)目桌面端WPF源碼,UI源碼,已實(shí)現(xiàn)前后端MVVM數(shù)據(jù)綁定

    工控視覺(jué)項(xiàng)目桌面端WPF源碼,UI源碼,已實(shí)現(xiàn)前后端MVVM數(shù)據(jù)綁定

    工控視覺(jué)項(xiàng)目桌面端WPF源碼,UI源碼,已實(shí)現(xiàn)前后端MVVM數(shù)據(jù)綁定。 除了兩個(gè)柱狀圖用的第三方開(kāi)源控件,其他都是原生自己寫(xiě)的,非常適合初學(xué)者熟悉語(yǔ)法、事件、觸發(fā)器、MVVM 機(jī)制、布局容器,方便二次開(kāi)發(fā)和修改 工控視覺(jué)項(xiàng)目桌面端WPF源碼,UI源碼,已實(shí)現(xiàn)前后端MVVM數(shù)據(jù)

    2024年02月20日
    瀏覽(21)
  • C# WPF編程-布局

    C# WPF編程-布局

    WPF窗口只能包含單個(gè)元素。為在WPF窗口中放置多個(gè)元素并創(chuàng)建更貼近實(shí)用的用戶(hù)界面,需要在窗口上放置一個(gè)容器,然后在這個(gè)容器中添加其他元素。 造成這一限制的原因是Window類(lèi)繼承自ContentControl類(lèi)。 在WPF窗口布局需要遵循以下幾條重要原則: 不應(yīng)顯示設(shè)定元素的尺寸 :

    2024年03月25日
    瀏覽(23)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包