2013-11-14 50 views
1

我有一些蒙面文本框的问题,而且我似乎无法分离出问题的原因。蒙面文本框不允许粘贴蒙面

无论何时该面具处于活动状态,我都无法将其粘贴到该框中。我取下了面具,我确实 - 这是我做出的唯一改变。我似乎无法弄清楚它是什么。这个盒子本身没有验证控件(验证脚本并在按一下按钮运行,但它是手动的,并且不依赖于控制事件)

// txtClaimNum 
     // 
     this.txtClaimNum.AllowDrop = true; 
     this.txtClaimNum.CausesValidation = false; 
     this.txtClaimNum.HideSelection = false; 
     this.txtClaimNum.Location = new System.Drawing.Point(119, 83); 
     this.txtClaimNum.Mask = "################-##"; 
     this.txtClaimNum.Name = "txtClaimNum"; 
     this.txtClaimNum.Size = new System.Drawing.Size(120, 20); 
     this.txtClaimNum.TabIndex = 1; 

要激活表单上这个文本框所在,我用从主窗体如下:

public static void ThreadProcAddClaim() 
    { 
     Application.Run(new AddClaim());    
    } 

话虽这么说,我不知道我这种形式将被要么supressing本上的任何代码。我做了一些搜索,但大多数人似乎想压制粘贴或复制功能。我需要他们积极。任何人对idjit有任何建议?让我知道你是否还需要更多信息。

谢谢

+0

这个掩码只允许数字;所以我明白你试图粘贴数字,不是吗? – varocarbas

+0

正确。我尝试粘贴16位数字,然后是 - 和另外两个数字。如果我试图粘贴18位数字或16-2,则不会粘贴。 “粘贴”选项不出现在上下文菜单中,但在选中时不执行任何操作,而Ctrl V也不执行任何操作。 –

+1

这没有任何意义。如果你在VS 2010中打开一个新项目,用你的代码(属性更改部分)在其上放​​置一个带有掩码的文本框,它会正常工作。如果您尝试粘贴数字+不支持的字符(例如字母),则会粘贴数字,并且不支持的字符将被忽略。除非将ReadOnly设置为true(或类似),否则当右键单击控件时,粘贴选项将始终存在。不知道您的项目中发生了什么,但是您提供的信息/代码无法为您提供帮助。 – varocarbas

回答

1

好吧,我回去了,我真的是一个白痴。

Thread a = new Thread(new ThreadStart(ThreadProcAddClaim)); 
     a.Name = "AddClaim"; 
     a.Start(); 

我没有Apartment State设置。我只是设置了它,它完美运作。

Thread a = new Thread(new ThreadStart(ThreadProcAddClaim)); 
     a.SetApartmentState(System.Threading.ApartmentState.STA); 
     a.Name = "AddClaim"; 
     a.Start();