A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 吴承烨 中级黑马   /  2013-5-6 22:19  /  1929 人查看  /  2 人回复  /   2 人收藏 转载请遵从CC协议 禁止商业使用本文

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里的东西哦

2 个回复

正序浏览
是好东西
回复 使用道具 举报
值得学习ing!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马