Chinaunix首页 | 论坛 | 博客
  • 博客访问: 226856
  • 博文数量: 45
  • 博客积分: 3010
  • 博客等级: 中校
  • 技术积分: 915
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-18 16:03
文章分类

全部博文(45)

文章存档

2011年(1)

2008年(44)

我的朋友

分类:

2008-07-26 17:33:24

让窗体不响鼠标双击事件
重写DefWndProc函数
代码如下:
 

//鼠标双击失效事件

        protected override void DefWndProc(ref Message m)
        {
            byte msg = 0x00A3;
            if(m.Msg == Convert.ToInt32(msg))
            {
                return;
            }
            base.DefWndProc (ref m);
        }

整个应用程序退出窗体关闭按钮时事件处理

在窗体的Closing事件中处理,代码如下:

private void frmMain_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        {
            //程序退出

            if(MessageBox.Show("确定退出吗?","退出",MessageBoxButtons.OKCancel,MessageBoxIcon.Question)==DialogResult.OK)
            {
                Application.ExitThread();
            }
            else
            {
                e.Cancel = true;
            }
        
        }

 

一个ComboBox控件输入字符以后按回车键Enter转到下一个TextBox框,怎么实现?

代码如下:

private void cmbColor_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
        {
            if(e.KeyChar == 0xd)
            {
                this.txtPower.Focus();
            }
        }

整个窗体上的控件Tab键控制

设置form的KeyPreview = true,然后调整form上组件的tabIndex,最后在form的KeyPress事件里加入以下代码

private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar == 13)
    {
        SendKeys.Send("{TAB}");
    }
}

在Winform程序中, 如何让任一个MDI子窗体只打开一次?

两种方法解决,代码如下:

第一种方案:

private void menuItem6_Click(object sender, System.EventArgs e)
{
System.Windows.Forms.Form[] mdiForm=this.MdiChildren;
bool openFlage=false;//标识窗体是否打开(true:已打开了一个窗体)

foreach (Form fr in mdiForm)
{
//MessageBox.Show(fr.Name);

if (fr.Name=="frmSearchOrder")
{//已打开一个窗体则激活并显示出来

fr.Activate();
openFlage=true;
break;
}
}
if (!openFlage)
{//没有打开窗体则新建并显示出来

frmSearchOrder nPTCIM=new frmSearchOrder();
nPTCIM.MdiParent=this;
nPTCIM.Show();
}
}

第二种方案:

先声明窗体的变量
private Form1 midForm;
private void menuItem6_Click(object sender, System.EventArgs e)
{
 if(midForm==null||midForm.IsDisposed)
 {
  midForm=new Form1();
 }
 else
 {
  midForm.Activate();
 }
}

LinkLabel控件,要实现链接到网页,事件方法如下:

private void linkAddress_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
        {
            //打开网页地址窗口
         System.Diagnostics.Process.Start("IEXPLORE.exe", "");
        }

阅读(1121) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2008-09-25 12:53:17

刚刚开始学。。。。 谢谢了。。。。。。。。。。。。