用通用权限管理系统组件开发一个简易的日积月累功能的代码实现,运行效果如下效果,很多通用的小功能系统组件自动都实现了,那开发应用程序会变得又快又简单了。

具体代码参考如下:

  1 //--------------------------------------------------------------------
  2 // All Rights Reserved , Copyright (C) 2012 , Hairihan TECH, Ltd. 
  3 //--------------------------------------------------------------------
  4 
  5 using System;
  6 using System.Data;
  7 using System.Windows.Forms;
  8 
  9 namespace DotNet.WinForm
 10 {
 11     using DotNet.Business;
 12     using DotNet.Utilities;
 13 
 14     /// <summary>
 15     /// FrmKnowledge.cs
 16     /// 日积月累
 17     ///    
 18     /// 修改记录
 19     /// 
 20     ///     2012.09.03 版本:1.0 JiRiGaLa  修改功能页面编写。
 21     ///        
 22     /// 版本:1.0
 23     ///
 24     /// <author>
 25     ///        <name>JiRiGaLa</name>
 26     ///        <date>2012.09.03</date>
 27     /// </author> 
 28     /// </summary>
 29     public partial class FrmKnowledge : BaseForm
 30     {
 31         public FrmKnowledge()
 32         {
 33             InitializeComponent();
 34         }
 35 
 36         /// <summary>
 37         /// 日积月累的知识库
 38         /// </summary>
 39         DataTable dtKnowledge = null;
 40 
 41         /// <summary>
 42         /// 当前显示第几条
 43         /// </summary>
 44         int CurrentIndex = 0;
 45 
 46         #region public override void ShowEntity() 显示内容
 47         /// <summary>
 48         /// 显示内容
 49         /// </summary>
 50         public override void ShowEntity()
 51         {
 52             // 显示信息
 53             BaseCommentEntity commentEntity = new BaseCommentEntity(dtKnowledge.Rows[this.CurrentIndex]);
 54             this.txtContents.Text = commentEntity.Contents;
 55         }
 56         #endregion
 57 
 58         public override void SetControlState()
 59         {
 60             if (this.dtKnowledge != null && this.dtKnowledge.Rows.Count > 0)
 61             {
 62                 this.btnNext.Enabled = true;
 63                 if (this.CurrentIndex == this.dtKnowledge.Rows.Count - 1)
 64                 {
 65                     this.btnNext.Enabled = false;
 66                 }
 67                 this.btnPrevious.Enabled = true;
 68                 if (this.CurrentIndex == 0)
 69                 {
 70                     this.btnPrevious.Enabled = false;
 71                 }
 72             }
 73         }
 74 
 75         #region public override void FormOnLoad() 加载窗体
 76         /// <summary>
 77         /// 加载窗体
 78         /// </summary>
 79         public override void FormOnLoad()
 80         {
 81             // 获取数据
 82             SQLBuilder sqlBuilder = new SQLBuilder(this.UserCenterDbHelper);
 83             sqlBuilder.BeginSelect("BaseKnowledge");
 84             // 只获取前200个数据就可以了,减小网络传递数据的网络带宽。
 85             sqlBuilder.SelectTop(200);
 86             if (!string.IsNullOrEmpty(this.EntityId))
 87             {
 88                 sqlBuilder.SetWhere(BaseCommentEntity.FieldId, this.EntityId);
 89             }
 90             // 这里是为了每次显示的数据都是乱序的,数据测循序是被打乱的。
 91             sqlBuilder.SetOrderBy( " NEWID() ");
 92             dtKnowledge = sqlBuilder.EndSelect();
 93             if (dtKnowledge.Rows.Count > 1)
 94             {
 95                 this.CurrentIndex = new Random().Next(0, dtKnowledge.Rows.Count - 1);
 96             }
 97             // 显示实体
 98             this.ShowEntity();
 99 
100             // 显示日积月累
101             string showKnowledge = DotNetService.Instance.ParameterService.GetParameter(BaseSystemInfo.UserInfo, "User", "ShowKnowledg", "Show");
102             if (!string.IsNullOrEmpty(showKnowledge))
103             {
104                 this.chkShowKnowledge.Checked = showKnowledge.Equals(true.ToString());
105             }
106         }
107         #endregion
108 
109         private void chkShowKnowledge_CheckedChanged(object sender, EventArgs e)
110         {
111             if (this.FormLoaded)
112             {
113                 DotNetService.Instance.ParameterService.SetParameter(BaseSystemInfo.UserInfo, "User", "ShowKnowledg", "Show", this.chkShowKnowledge.Checked.ToString());
114             }
115         }
116 
117         private void btnPrevious_Click(object sender, EventArgs e)
118         {
119             if (this.CurrentIndex > 0)
120             {
121                 this.CurrentIndex--;
122                 this.ShowEntity();
123             }
124             this.SetControlState();
125         }
126 
127         private void btnNext_Click(object sender, EventArgs e)
128         {
129             if (this.CurrentIndex < this.dtKnowledge.Rows.Count -1)
130             {
131                 this.CurrentIndex++;
132                 this.ShowEntity();
133             }
134             this.SetControlState();
135         }
136 
137         private void btnColse_Click(object sender, EventArgs e)
138         {
139             this.Close();
140         }
141     }
142 }

转载于:https://www.cnblogs.com/jirigala/archive/2012/09/03/2668820.html

简单快速开发C\S架构程序用最简单的不分层最快的效率达到功能要求的例子程序FrmKnowledge日积月累功能的实现...相关推荐

  1. 简单快速开发C\S架构程序用最简单的不分层最快的效率

    用通用权限管理系统组件开发一个简易的日积月累功能的代码实现,运行效果如下效果,很多通用的小功能系统组件自动都实现了,那开发应用程序会变得又快又简单了. 具体代码参考如下:  1//---------- ...

  2. 简单Android app开发_如何简单快速开发外卖app?

    如何开发一个外卖app?app开发需要多少钱?随着美团.饿了么的外卖app的发展,对餐饮.生鲜果蔬.超市便利店行业来说,app成为必不可缺少的一部分.与其向第三方交纳一定不开发一个自己的外卖平台.也有 ...

  3. 使用云数据库,国庆快速开发一个微信小程序

    国庆七天,如果不想峡谷.王者七日游,就来跟我一起开发个小程序吧,不需要多高的技术,只要你会一点点前端css.html知识,不需要你了解后端语言,更不需要单独部署一个后端服务,十分简单! 之前我写过一个 ...

  4. 利用Vue-cli3简单快速搭建前端项目架构

    安装 如果在电脑上已经安装了vue-cli2.0如果想要把其替换成vue-cli3.0的话需要先卸载原有vue-cli2.0的版本. npm uninstall vue-cli -g 卸载完成之后就直 ...

  5. 简单快速清理 联想电脑 顽固可疑程序文件 comup.dll(风险名称: Adware/Hyideo )的方法 PS:该方法对于删除 .dll 文件均有效

    注:该方法对删除任何一个.dll文件均有效,请继续阅读. 文章目录 前言 一.删除comup.dll文件 1.方法:下载**Unlocker**软件 2. 关于下载 对于联想电脑用户而言, 对于非联想 ...

  6. 如何快速开发一个古诗词小程序?

    前言: github日常淘宝,看到的项目可能因为历史原因已经不维护了,跑步起来,那么我们就让他跑起来吧! 本篇以一个古诗词小程序为例,大概花了一天的时间,给想学习的小白或者业余你想整一个玩玩的时候能有 ...

  7. android游戏1024代码,castlegame 可简单快速开发android游戏。我总结的教程

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 安装 fpcupdeluxe-i386-win32.exe 先安装这个. fpc 选择 304版本 即stable 版本 lazarus 选择184版本 ...

  8. Stduino NanoUno简单快速开发stm32

    Stduino Nano&Uno Stduino Nano&Uno 板型均采用Stm32F103c8t6芯片作为主控芯片 Stduino Nano&Uno 板型均采用Stm32 ...

  9. 使用.NET Core快速开发一个较正规的命令行应用程序

    程序员的世界,命令行工具一直是"体验非常友好"的工具,也能自动化完成很多事情,同时还能结合shell来进行某项任务的批处理(脚本).在.NET Core中,命令行应用程序是基础,但 ...

最新文章

  1. HyperPocket:生成点云网络
  2. php正则如何使用 1,请问正则里面的值${1}怎么使用函数处理?怎么个写法?
  3. MySQL在创建索引之前一定要想到的事情
  4. POJ1321 棋盘问题(DFS)
  5. Linux内核——百度百科
  6. ArcGis10安装步骤
  7. 【论文解读】ICLR 2021 |可信多模态机器学习:兼听则明,信而有征
  8. Git之深入解析如何使用Git的分布式工作流程与如何管理多人开发贡献的项目
  9. window10系统 同时安装支持 jdk 1.7和1.8环境
  10. Linux——userdel删除用户不完全问题
  11. MySQL的索引创建、删除
  12. oracle 12c sp2 0667,关于数据库安装的问题SP2-0667: Message file sp1.msb not found
  13. hp1015驱动64位_惠普1015打印机驱动下载
  14. Labwindows_cvi基于C语言程控矢量网络分析仪
  15. 综合练习:热点事件排行榜(页面使用的是thymeleaf)
  16. 基于ESP8266芯片的实时温湿度传感器
  17. C# 读取SQLite
  18. PDF文件怎么转换成Word?这几种方法原来这么简单
  19. nginx根据post请求体内容转发
  20. Odoo隐藏应用模块

热门文章

  1. Spring总结之SpringMvc下
  2. SpringBoot系列: Web应用鉴权思路
  3. Xamarin Essentials教程磁力计Magnetometer
  4. C#基础笔记(第九天)
  5. 工厂模式(Factory)
  6. apache添加ssl协议实现用户认证
  7. react学习笔记1--基础知识
  8. TBluetoothLE.OnDisconnectDevice
  9. UIExtendedEdge
  10. c - 字符串的拼接.