博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 重构中遇到的问题
阅读量:4220 次
发布时间:2019-05-26

本文共 2076 字,大约阅读时间需要 6 分钟。

###1、form.Show() 和form.ShowDialog() 的区别

  show:不是模态窗体,就是用它将窗体显示出来,它可以不关闭而继续使用其它的窗体。
  showDialog:模态窗体,只能将它关闭之后,才可以使用其它窗体。

###2、comboBox控件

选取值的问题:

string level=comboLevel.SelectedItem.ToString();   //获取下拉框选中的值

下拉框的选择问题

  DropDownStyle属性:

属性值 含义
Simple 简单的下拉列表框(始终显示列表)
DropDown 可以编辑,与有下拉列表。默认
DropDownList 只有下拉列表,不能编辑

  代码实现:

combox1.DropDownStyle = ComboBoxStyle.DropDownList;

###3、DataGridView控件

//修改标题行dataGridView1.Columns[0].HeaderCell.Value = "编号"; //获取当前选中行的用户idstring userid = dataGridView1.CurrentRow.Cells["用户名"].Value.ToString();//移除当前选中行dataGridView1.Rows.Remove(dataGridView1.CurrentRow);

去除空白行:

  将属性AllowUserToAddRows 设置为 False
设置控件不能编辑
  将属性ReadOnly 设置为 True
只能选取整行
  将属性 SelectionMode 设置为 FullRowSelect

//去除表格空白行,也就是不能手动添加行dataGridView1.AllowUserToAddRows = false;//不能修改dataGridView1.ReadOnly = true;//选择模式,整行选取dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;

###4、提示框

//提示用户是否要删除DialogResult result = MessageBox.Show("确定要删除吗?","警告",MessageBoxButtons.OKCancel);if (result==DialogResult.OK){	MessageBox.Show("点击了确定按钮");}

###5、日期转换出错问题:

不要使用强转方法,使用convert.toDateTime方法来转换。

###6、获取时间

(1)获取本地时间

string now=System.DateTime.Now.ToString();string date = now.Split(new char[] {' '})[0]; //获取日期部分string time = now.Split(new char[] {' '})[1]; //获取时间部分

(2)获取服务器时间

char[] c = { ' ' };string now = sqlHelper.ExecuteScalar("select getdate()").ToString();string[] dateList = now.Split(c);this.date = dateList[0];  //获取日期部分this.time = dateList[1];  //获取时间部分

使用时,要考虑的问题:

  为什么要获取服务器的时间么? //值得思考一下,应该是哪个的时间
  那就和系统的部署有关系了,不管是c/s结构还是b/s结构,如果数据都是从本地的数据库中调取的,那么日期就应该是本地的时间,因为本地保存数据库就相当于“服务器”,集服务器与客户端一体。如果我们的数据都是存在网络上的服务器,需要联网获取真正的远程服务器的数据,那么就应该考虑使用服务器的时间。
对于服务器和客户端在同一台电脑上的系统来说,本地时间和服务器时间是相同的,这样的话,使用哪个都可以。

格式化SQL日期

SELECT  FORMAT(date,'yyyy-MM-dd') as date FROM dbo.t_CheckWeek//注意:必须区分格式化函数的大小写,年和日是小写,月份是大写

###7、报表日期问题:

  数据库里面的类型是date类型,只是日期部分,但是读取到报表中显示就成了日期+时间的格式,大概是因为vs里只有DateTime类型,没有Date类型吧。我们可以采取对报表中的参数格式化来只显示日期。

关于读取日期问题,通过参数的属性设置,将它格式化成短日期的格式。

这里写图片描述

=FormatDateTime(Fields!mydate.Value, DateFormat.ShortDate)

注意:日期的查询,数据库中的类型必须是“日期类型”,如果是字符串类型,则查询不到。

你可能感兴趣的文章
自动驾驶汽车CAN总线数字孪生建模(二)
查看>>
自动驾驶汽车GPS系统数字孪生建模(一)
查看>>
自动驾驶汽车GPS系统数字孪生建模(二)
查看>>
上海控安入选首批工控安全防护能力贯标咨询机构名单
查看>>
自动驾驶汽车传感器数字孪生建模(一)
查看>>
CUDA 学习(四)、线程
查看>>
CUDA 学习(五)、线程块
查看>>
CUDA 学习(八)、线程块调度
查看>>
CUDA 学习(九)、CUDA 内存
查看>>
CUDA 学习(十一)、共享内存
查看>>
游戏感:虚拟感觉的游戏设计师指南——第十四章 生化尖兵
查看>>
游戏感:虚拟感觉的游戏设计师指南——第十五章 超级马里奥64
查看>>
游戏感:虚拟感觉的游戏设计师指南——第十七章 游戏感的原理
查看>>
游戏感:虚拟感觉的游戏设计师指南——第十八章 我想做的游戏
查看>>
游戏设计的艺术:一本透镜的书——第十章 某些元素是游戏机制
查看>>
游戏设计的艺术:一本透镜的书——第十一章 游戏机制必须平衡
查看>>
游戏设计的艺术:一本透镜的书——第十二章 游戏机制支撑谜题
查看>>
游戏设计的艺术:一本透镜的书——第十三章 玩家通过界面玩游戏
查看>>
编写苹果游戏中心应用程序(翻译 1.3 为iOS应用程序设置游戏中心)
查看>>
编写苹果游戏中心应用程序(翻译 1.4 添加游戏工具包框架)
查看>>