1.限制文本框只能输入0-9的数字和小数点
在文本框的KeyPress事件里添加如下代码:
if (e.KeyChar >= '0' && e.KeyChar <= '9' || e.KeyChar == '\b'||e.KeyChar=='.')
{
e.Handled = false;
}
else
{
e.Handled = true;
}
2.回车键实现控件焦点切换
在界面的KeyPress事件里添加如下代码:
if (e.KeyChar == (char)Keys.Enter)
{
SendKeys.Send("{TAB}");
}
3.gridView的右边的编号显示
在gridView的CustomDrawRowIndicator事件里添加如下代码:
if (e.Info.IsRowIndicator && e.RowHandle >= 0)
{
e.Info.DisplayText = (int.Parse(e.RowHandle.ToString()) + 1).ToString();
}
4.界面右键菜单显示
在界面的点击事件里添加如下代码:
if (((MouseEventArgs)e).Button == MouseButtons.Right)
{
contextMenuStrip1.Show(gridControl1, ((MouseEventArgs)e).X, ((MouseEventArgs)
e).Y);
}
5.获取gridView当前选中的行
int selectedHandle;
selectedHandle = this.gridView1.GetSelectedRows()[0];
int id = Convert.ToInt32(this.gridView1.GetRowCellValue(selectedHandle, "homeId"));
6.删除提示框
if (MessageBox.Show("确认删除?", "此删除不可恢复", MessageBoxButtons.YesNo) == DialogResult.Yes){
vm.Delete(id);
}
7.巧用indexOf(string)
作用:返回字符串string在父串中首次出现的位置,从0开始,没有返回-1;
如:int array = lblTin.Text.IndexOf(",");返回逗号在字符串lblTin中首次出现的位置
而indexOf还可以用来判断string字符串是否存在于父串中
if (lblTin.Text.IndexOf(",") > 0)
{
MessageBox.Show("逗号存在");
}
else
{
MessageBox.Show("逗号不存在");
}
8.金额字符串转换
作用:将一个int型的字符串转换为千分位
如:123123转换为123,123.00
string.Format("{0:N2}", decimal.Parse(123123));
各种字符串格式的效果
格式化:{0:#.00} 效果:123456789.00
格式化:{0:#,#} 效果:123,456,789
格式化:{0:n1} 效果:123,456,789.0
格式化:{0:n2} 效果:123,456,789.00
格式化:{0:f} 效果:123456789.00
格式化:{0:f1} 效果:123456789.0
格式化:{0:¥0.00} 效果:¥123456789.0
效果大致不变,而且可以结合起来使用。
如:
格式化:¥{0:n2} 效果:¥123,456,789.00
9.在一个循环中遍历多个数组
foreach (var x in array1) {
Console.WriteLine(x);
}
foreach (var x in array2) {
Console.WriteLine(x);
}
这样的话,循环主体会很大,而且不希望这样重复的代码。但是同时也不希望创建一个数组来保存array1和array2的所有元素。
用LINQ的Concat操作会让你方便很多。我们可以使用单个循环来重写上面的代码,如下:
foreach (var x in array1.Concat(array2)) {
Console.WriteLine(x);
}
要记得引入using System.Linq;
Concat是LinQ里的东西哦
|
|