WPF的回填和计时器
WPF的回填和计时器
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
开发工具与关键技术:C#,WPF
作者:刘海红
撰写时间:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
要获取用户和用户登录的时间和日期相比很多人都不陌生,因为每当一个操作员登录进去都会有显示登录的时间和日期,这样可以方便操作员查询。我这次写的就是回填用户的信息和计时器。效果如下图,计时器它会随着电脑的系统时间和日期进行一个页面的回填。并且计时器可以显示时分秒,也会随着时间的跳动而跳动,在做之前我们是需要把数据库和WPF连接起来的。因为我们需要在数据库中查询出数据,进行登录和数据回填到主页面上,如下图所示:
首先我们要在主页面中设置一下操作员的布局控件。并且给它们一个名字。可以在下图中看出多了一个TextBlock控件,其实它并不是多余的,而是我们在页面中已经为他定义好控件来获取当前的最新日期和时间。
第一我们需要先在数据库中查询出来数据,WPF不同的是无论写查询还是新增,修改,删除它都是在数据库中进行写存储语句。如下图所示
写完数据库就写我们服务端代码了。我们所有的代码都是BLL层写的,因为它连接着客户端,下图中有两个服务,但是第一个服务是已经配置好了的,第二个服务是需要我们重新为它配置一下服务的,配置服务的过程我就不详细写了,逻辑代码写完后我们就需要把逻辑代码跟我们的客户端那边进行连接,本身它们之间是不能连接的,所以通配置服务来连接。
客户获取部门,操作员代码,当我们一登录进去就可以绑定它们两个值。这是跨页面传输数据,跨页面传输数据很简单直接往里面放我们需要传输的变量数据就可以了,在这里我们需要借助登录来完成。如下图所示
以上登录进去主页面就可以得到我们的要的效果,部门和操作员就会显示出来,你登录进去的是谁,主页面回填过来的就是谁。下面我们需要写的是绑定本地的当前时间,那么这个又是怎么实现的呢?并且它是随着我们本地时间的跳动的,在这里我们就要用到我们C#中的计时器了。这个计时器和我们之前学的HTML是不一样的。现在我们来了解一下是怎么样的。首先我们要封装一个方法,它是一个私有的方法它只在当前页面这里用。
//定义一个方法
public void ShowCurTimer(object sender, EventArgs e)
{
txt_Time.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");//确定时间格式
}
接下来用到是我们的计时器,因为我们要在Main处用到,所以我们写一下全局变量,凡是我们的全局变量都是放在类的最前面,如下代码是全局变量:
首先我需要声明一个计时器方法来
#region 全局变量
//声明计时器
private DispatcherTimer showtimer;
#endregion
下面是我们代码:
public Main( string strDepartment,string strStaffName)
{
#region 显示时间
showtimer = new DispatcherTimer();//实例化
//超过计时器间隔的时候就会发生Tick作用
showtimer.Tick += new EventHandler(ShowCurTimer);
// Interval:时间间隔计时器
showtimer.Interval = new TimeSpan(0, 0, 0,1, 0);//控制时间在一秒钟跳动一次
showtimer.Start();//开启时间
#endregion
}