2024年2月21日发(作者:)

winform窗体点击删除按钮如何弹出确认删除对话框?

答:在按钮的点击事件里写代码:

if (("确定删除?", "提示", ) ==

)

{

.................

}

在按钮的点击事件里写代码:

if (("确定删除?", "提示", ) ==

)

{

.................

}

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

Visual Studio 2010快捷键大全

【窗口快捷键】

Ctrl+W,W: 浏览器窗口

Ctrl+W,S: 解决方案管理器

Ctrl+W,C: 类视图

Ctrl+W,E: 错误列表

Ctrl+W,O: 输出视图

trl+W,P: 属性窗口

Ctrl+W,T: 任务列表

Ctrl+W,X: 工具箱

Ctrl+W,B: 书签窗口

Ctrl+W,U: 文档大纲

Ctrl+D,B: 断点窗口

Ctrl+D,I: 即时窗口

Ctrl+Tab: 活动窗体切换

CTRL + SHIFT + C 显示类视图窗口

F4 显示属性窗口

SHIFT + F4 显示项目属性窗口

Alt-Enter:显示选中对象的属性(这是个常用的windows快捷键,可以用显示目录和文件的属性)

Ctrl-Alt-L:显示解决方案浏览器

【工具快捷键】

Ctrl+Shift+N: 新建项目

Ctrl+Shift+O: 打开项目

Ctrl+Shift+S: 全部保存

Shift+Alt+C: 新建类

Ctrl+Shift+A: 新建项

Shift+Alt+Enter: 切换全屏编辑

Ctrl+B,T / Ctrl+K,K: 切换书签开关

Ctrl+B,N / Ctrl+K,N: 移动到下一书签

Ctrl+B,P: 移动到上一书签

Ctrl+B,C: 清除全部标签

Ctrl+I: 渐进式搜索

Ctrl+Shift+I: 反向渐进式搜索

Ctrl+F: 查找

Ctrl+Shift+F: 在文件中查找

F3: 查找下一个

Shift+F3: 查找上一个

Ctrl+H: 替换

Ctrl+Shift+H: 在文件中替换

Alt+F12: 查找符号(列出所有查找结果)

Ctrl+Shift+V: 剪贴板循环

Ctrl+左右箭头键: 一次可以移动一个单词

Ctrl+上下箭头键: 滚动代码屏幕,但不移动光标位置。

Ctrl+Shift+L: 删除当前行

Ctrl+M,M: 隐藏或展开当前嵌套的折叠状态

Ctrl+M,L: 将所有过程设置为相同的隐藏或展开状态

Ctrl+M,P: 停止大纲显示

Ctrl+E,S: 查看空白

Ctrl+E,W: 自动换行

Ctrl+G: 转到指定行

Shift+Alt+箭头键: 选择矩形文本

Alt+鼠标左按钮: 选择矩形文本

Ctrl+Shift+U: 全部变为大写

Ctrl+U: 全部变为小写

Ctrl+m+Crtr+o折叠所有大纲

Ctrl+M+Crtr+P: 停止大纲显示

Ctrl+K+Crtr+C: 注释选定内容

Ctrl+K+Crtr+U: 取消选定注释内容

Ctrl+J : 列出成员 智能感知

Ctrl-Shift-Space 强迫智能感知显示参数信息:

Shift+Alt+Enter: 切换全屏编辑

Ctrl+B,T / Ctrl+K,K: 切换书签开关

Ctrl+B,N / Ctrl+K,N: 移动到下一书签

Ctrl+B,P: 移动到上一书签

Ctrl+B,C: 清除全部标签

Ctrl+I: 渐进式搜索

Ctrl+Shift+I: 反向渐进式搜索

Ctrl+F: 查找

Ctrl+Shift+F: 在文件中查找

F3: 查找下一个

Shift+F3: 查找上一个

Ctrl+H: 替换

Ctrl+Shift+H: 在文件中替换

Alt+F12: 查找符号(列出所有查找结果)

Ctrl+Shift+V: 剪贴板循环

Ctrl+左右箭头键: 一次可以移动一个单词

Ctrl+上下箭头键: 滚动代码屏幕,但不移动光标位置。

Ctrl+Shift+L: 删除当前行

Ctrl+M,M: 隐藏或展开当前嵌套的折叠状态

Ctrl+M,L: 将所有过程设置为相同的隐藏或展开状态

Ctrl+E,S: 查看空白

Ctrl+E,W: 自动换行

Ctrl+G: 转到指定行

Shift+Alt+箭头键: 选择矩形文本

Alt+鼠标左按钮: 选择矩形文本

Ctrl+Shift+U: 全部变为大写

Ctrl+U: 全部变为小写

【代码快捷键】

Ctrl+Shift+空格键 / Ctrl+K,P: 参数信息

Ctrl+K,I: 快速信息

Ctrl+E,U / Ctrl+K,U: 取消选定注释内容

Ctrl+K,M: 生成方法存根

Ctrl+K,X: 插入代码段

Ctrl+K,S: 插入外侧代码

F12: 转到所调用过程或变量的定义

Shift+下箭头 选中一行或多行代码

Shift+上箭头 取消选中一行或多行代码

CTRL + SHIFT + B 生成解决方案

CTRL + F7 生成编译

CTRL + O 打开文件

CTRL + SHIFT + O 打开项目

CTRL + SHIFT + E 显示资源视图

F12 转到定义

CTRL + F12 转到声明

CTRL + ALT + J 对象浏览

CTRL + ALT + F1 帮助目录

CTRL + F1 动态帮助

F1 帮助

SHIFT + F1 当前窗口帮助

CTRL + ALT + F3 帮助-搜索

SHIFT + ALT + ENTER 全屏显示

CTRL + - 向后定位

CTRL + SHIFT + - 向前定位

CTRL + F4 关闭文档窗口

CTRL + PAGE DOWN 光标定位到窗口上方

CTRL + PAGE UP 标定位到窗口下方

CTRL + F6

CTRL + TAB 下一个文档窗口

CTRL + SHIFT + F6

CTRL + SHIFT + TAB 上一个文档窗口

ALT + F6 下一个面板窗口

CTRL + K, CTRL + L 取消remark

CTRL + K, CTRL + C 注释选择的代码

CTRL + K, CTRL + U 取消对选择代码的注释

CTRL + M, CTRL + O 折叠代码定义

CTRL + M, CTRL + L 展开代码定义

CTRL + DELETE 删除至词尾

CTRL + BACKSPACE 删除至词头

SHIFT + TAB 取消制表符

CTRL + U 转小写

CTRL + SHIFT + U 转大写

CTRL + SHIFT + END 选择至文档末尾

CTRL + SHIFT + HOME 选择至文档末尾开始

SHIFT + END 选择至行尾

SHIFT + HOME 选择至行开始处

SHIFT + ALT + END 垂直选择到最后尾

SHIFT + ALT + HOME 垂直选择到最前面

CTRL + A 全选

CTRL + W 选择当前单词

CTRL + SHIFT + PAGE UP 选择至本页前面

CTRL + SHIFT + PAGE DOWN 选择至本页后面

CTRL + END 文档定位到最后

CTRL + HOME 文档定位到最前

CTRL + G 转到…

CTRL + K, CTRL + P 上一个标签

CTRL + K, CTRL + N 下一个标签

ALT + F10 调试-ApplyCodeChanges

CTRL + ALT+ Break 停止调试

CTRL + SHIFT + F9 取消所有断点

CTRL + F9 允许中断

CTRL + SHIFT + F5 调试-重新开始

F5 运行调试

F7 /Shift-F7 显示代码窗口或显示设计器窗口CTRL + F5F10 跨过程序执行

运行不调试

F11 单步逐句执行

CTRL + J 列出成员

CTRL + PAGE DOWN 下一个视图

CTRL + B 格式-粗体

CTRL + SHIFT + T 格式-文字缩进

Ctrl-Alt-P:附加调试器的进程

Ctrl-Shift-A / Alt-Shift-A:在项目里添加项/在项目里移除项

Ctrl +] 检查括号匹配(在左右括号间切换)

Shift + Home(End) 选中从光标起到行首(尾)间的代码:

Ctrl+Shift+7(8) 在方法定义和调用之点切换:

使用Tab增加缩进,Shift+Tab减少缩进

Ctrl+K, D 格式化整篇代码

Ctrl+B+T 设置书签

Ctrl+B+N 跳转书签:

首先是先按ctrl+a全选你需要格式化的代码,然后按ctrl+k快捷方式,然后再按ctrl+f快捷方式。

Ctrl+. 声明命名空间

、、、、、、、、、、、、、、、、、、、、、、、、、、、

如何获取datagridview中checkbox控件选中的多行数据?

在.NET Windows Forms开发中如何获取datagridview控件中checkbox控件选中的多行数据?我们可以利用此操作可以完整批量的更新,删除功能。代码大致如下:

private void PrintInFo() {

try

{

int count = 0;

//用于保存选中的checkbox数量

//DG_List为datagridview控件

for (int i = 0; i < DG_nt; i++)

{

if (DG_[i].Cells [0].ng() == "True")

//这里判断复选框是否选中

{

count++;

}

}

if (count == 0)

{

("请至少选择一条数据!", "提示");

return;

}

else

{

if ((this, "您要更新数据么?", "提示", , ation).ToString() == "Yes")

{

for (int i = 0; i < count; i++)

{

e(" update cf_prj_certi set FIsPrint='"+number+"' where fid='" +

DG_[i].Cells["fnn"].ng() + "'"); //执行SQL

}

} else

{

return;

}

}

} catch (Exception ex)

{

(ng());

} fo(); //重新绑定datagridview

}

本文来自: IT知道网() 详细出处参考:/html/net/winform/20091102/

/////////////////////////////////////

WinForm窗体之间参数传递(委托加事件观察者模式实现)

偶有闲时,看到了有人问起WinForm直接窗体参数的传递。回想起之前的牛X老师所教的方法,特写一小例子,共享之。

所谓观察者,就好比警察抓小偷时放出的眼线,眼线观察小偷,一有行动,立刻反应给警察。

现有FrmMain(警察),FrmChild1,FrmChild2(姑且当作两个小偷吧),一个定义委托和事件的类MiddleModule,它就是观察者。

且看代码:

C# code?

1 MiddleModule:

2 using System;

3 using c;

4 using ;

5 namespace Observer

6 {

7 ///

8 /// 定义发布消息的委托

9 ///

10 /// 发布者

11 /// 消息

12 public delegate void Send(object sender, object msg);

13 ///

14 /// 观察者的中间模块组建

15 ///

16 public class MiddleModule

17 {

18 ///

19 ///消息发布的事件

20 ///

21 public static event Send eventSend;

22 public static void SendMessage(object sender, object msg)

23 {

24 if (eventSend != null)

25 {

26 eventSend(sender, msg);

27 }

28 }

29 }

30 }

31

32

33

34

警察:

C# code?

1 namespace WinObserver

2 {

3 public partial class FrmMain : Form

4 {

5 ///

6 /// 构造方法,在构造主窗体的时候就订阅来自FrmChild1的消息

7 ///

8 public FrmMain()

9 {

10 InitializeComponent();

11 end += new Send(MiddleModule_eventSend);

12 }

13 ///

14 /// 接收FrmChild1的回传数据

15 ///

16 ///

17 ///

18 void MiddleModule_eventSend(object sender, object msg)

19 {

20 FrmChild1 frmChild1 = sender as FrmChild1;

21 if (null != frmChild1)

22 {

23 = "FrmChild1的回传数据:"+ng();

24 }

25 }

26 private void btnShow1_Click(object sender, EventArgs e)

27 {

28 FrmChild1 frmChild1 = Instance();

29 ();

30 }

31 private void btnShow2_Click(object sender, EventArgs e)

32 {

33 FrmChild2 frmChild2 = Instance();

34 ();

35 }

36 private void btnSend_Click(object sender, EventArgs e)

37 {

38 //由Observer模块传递数据

39 if (OrEmpty())

40 {

41 ssage(this, );

42 }

43 else

44 {

45 ssage(this, );

46 }

47 }

48 }

49 }

50

51

52

53

54

55

小偷1:

C# code?

1 using System;

2 using c;

3 using entModel;

4 using ;

5 using g;

6 using ;

7 using ;

8 using ;

9 using Observer;

10 namespace WinObserver

11 {

12 public partial class FrmChild1 : Form

13 {

14 private static FrmChild1 frmChild1 = null;

15 private FrmChild1()

16 {

17 InitializeComponent();

18 end += new Send(MiddleModule_eventSend);

19 }

20 void MiddleModule_eventSend(object sender, object msg)

21 {

22 FrmMain frmMain = sender as FrmMain;

23 if (null != frmMain)

24 {

25 = ng();

26 }

27 }

28 public static FrmChild1 CreateInstance()

29 {

30 if (null == frmChild1)

31 {

32 frmChild1 = new FrmChild1();

33 }

34 return frmChild1;

35 }

36 private void btnSendBack_Click(object sender, EventArgs e)

37 {

38 //由Observer模块传递数据

39 if (OrEmpty())

40 {

41 ssage(this, );

42 }

43 else

44 {

45 ssage(this, );

46 }

47 }

48 }

49 }

50

51

52

53

54

55

小偷2:

C# code?

1 using System;

2 using c;

3 using entModel;

4 using ;

5 using g;

6 using ;

7 using ;

8 using ;

9 using Observer;

10 namespace WinObserver

11 {

12 public partial class FrmChild2 : Form

13 {

14 private static FrmChild2 frmChild2 = null;

15 ///

16 /// 接收来自FrmMain传递过来的数据

17 ///

18 private FrmChild2()

19 {

20 InitializeComponent();

21 end += new Send(MiddleModule_eventSend);

22 }

23 void MiddleModule_eventSend(object sender, object msg)

24 {

25 FrmMain frmMain = sender as FrmMain;

26 if (null != frmMain)

27 {

28 = ng();

29 }

30 }

31 public static FrmChild2 CreateInstance()

32 {

33 if (null == frmChild2)

34 {

35 frmChild2 = new FrmChild2();

36 }

37 return frmChild2;

38 }

39 }

40 }

41

42

43

44

45

源代码,大家可以到/source/1986872下载。