VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • C#教程之定时任务 Wpf.Quartz.Demo.4

本文继续介绍定时任务 Wpf.Quartz.Demo.3的一些小细节, 代码也请前往第3节下载。

1.RichTextBox右键菜单

 <RichTextBox.ContextMenu>
                <ContextMenu>
                    <MenuItem Header="剪贴" Command="ApplicationCommands.Cut"/>                     
                    <MenuItem Header="复制" Command="ApplicationCommands.Copy"/>                                         
                    <MenuItem Header="粘贴" Command="ApplicationCommands.Paste"/>                                          
                    <MenuItem Header="清除" Click="MenuItemClear_Click"/>   
                    <MenuItem x:Name="menuPause" Header="暂停" Click="MenuItemPause_Click"/>   
                </ContextMenu>
            </RichTextBox.ContextMenu>

其中上面上个是系统默认的,自己要添加,可以自己定义。

2.右键DataGrid,选中该行。

 <i:Interaction.Triggers>
                <i:EventTrigger EventName="PreviewMouseRightButtonDown">
                    <local:ExInvokeCommandAction Command="{Binding PreviewMouseRightComamnd}" CommandParameter="{Binding SelectedItem, ElementName=table}"/>
                </i:EventTrigger>
            </i:Interaction.Triggers>

private void PreviewMouseRight(object para)
        {
            RoutedEventArgs e = ((ExCommandParameter)para).EventArgs as RoutedEventArgs;
            var treeViewItem = VisualUpwardSearch<UIElement>(e.OriginalSource as DependencyObject) as UIElement;

            if (treeViewItem == null) return;
            treeViewItem.Focus();
            e.Handled = true;
        }

        private static DependencyObject VisualUpwardSearch<M>(DependencyObject source)
        {
            while (source != null && source.GetType() != typeof(M))
            {
                if (source is Visual || source is Visual3D)
                    source = VisualTreeHelper.GetParent(source);
                else
                    source = LogicalTreeHelper.GetParent(source);
            }
            return source;
        }

3.任务的基本接口,主要是系统的启动,停止等命令

 IRun

4.任务的设置的接口,主要是任务的配置保存。

 IBaseRunner

5.任务类,接口IRun的实现。

 SimpleRunner

6.BaseRunner,主要是设置Cron

 BaseRunner

具体的请自行查看对应的类。

        public CronSecondSet CronSecondSet { get; set; } = new CronSecondSet();
        public CronMinuteSet CronMinuteSet { get; set; } = new CronMinuteSet();
        public CronHourSet CronHourSet { get; set; } = new CronHourSet();
        public CronDaySet CronDaySet { get; set; } = new CronDaySet();
        public CronMonthSet CronMonthSet { get; set; } = new CronMonthSet();
        public CronWeekSet CronWeekSet { get; set; } = new CronWeekSet();
        public CronYearSet CronYearSet { get; set; } = new CronYearSet();


        public EasyCronSet EasyCronSet { get; set; } = new EasyCronSet();

 

主要代码就是用户自定义设置,大家运行程序看效果。

另外,这种设置太专业了,不适合用户使用,因此设计了用户常用的模式。

是不是简单友好多了。

至此完结。

 

下次打算写一个wcf的Demo,当自己学习的动力。

作者:竹天笑
程序员,我是业余的,只为努力达到自己满意的效果。 而搬砖,我是认真的,只为每天踏实的砌着自己的..。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.

相关教程