请问大家:
一:我把居中的窗体最小化到右下角的托盘图标后,在右键弹出的菜单项中,让其恢复原来状态的时候,却不是在原来的位置(居中)了,请问怎么回事的?二:现在我的密码框,也能把复制的内容粘贴进去,象微软OS的登录框都不能这样,只能是靠输入字符,请问是不是用keypress事件来控制的?具体是如何实现的? 谢谢

解决方案 »

  1.   

    sdgSDgSd====CSDN 小助手 V2.0 2005年10月16日发布====
    CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
    界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/10/16/504620.aspx
    下载:http://szlawbook.com/csdnv2/csdnv2.rar为神六喝彩,向所有科技工作者致敬!
    拒绝日货。
      

  2.   

    一、不懂你是怎么隐藏和显示的?是设置 this.Visible = False/True, 调用 this.Hide()/this.Show(); 还是 用 this.Close() ? 如果是后者当然不行,否则我真不懂真么回事……二、控制 KeyPress,屏蔽 Ctrl + V 的组合
    private void TextBox1_KeyPress(object sender, KeyEventArgs e)
    {
       if ( (e.KeyCode & Keys.Control) == Keys.Control && ( e.KeyCode & Keys.V ) == Keys.V )
       e.Handled = true;
    }
    同时屏蔽对该文本框的右击动作。
    private void TextBox1_MouseUp(object sender, MouseEventArgs e)
    {
      if ( e.Button == MouseButton.Right )
      {
       // 屏蔽右键  
      }
    }或者采取等效的方法,比如把密码框的 ContextMenu 属性设定为一个没有菜单项的 ContextMenu, 自己从 TextBox 类继承,产生一个新的类,再类中屏蔽掉粘贴……
      

  3.   

    to 楼上的     我是调用 this.Hide()/this.Show(); 
    http://www.ccw.com.cn/htm/app/aprog/01_12_6_3.asp  用 C# 编写一个停放在任务栏上的图标程序我就是实现的上面那个功能,结果恢复的时候不是在原来位置了
      

  4.   

    为什么我屏蔽不了我的Ctrl+v?private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
    {
    if ( (e.KeyCode & Keys.Control) == Keys.Control && ( e.KeyCode & Keys.V ) == Keys.V )
    e.Handled = false;
    }
    这样会报错,因为KeyPressEventArgs 类没有属性e.KeyCode 而下面这样又无法实现!private void textBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
    {
    if ( (e.KeyCode & Keys.Control) == Keys.Control && ( e.KeyCode & Keys.V ) == Keys.V )
    e.Handled = false;
    }
      

  5.   

    e.Handled 设置为 true 而不是 False(通知系统该消息用户已经处理)KeyPressEventArgs 里应该由表示按健代码的属性,用它来代替 KeyCode 吧