【问题标题】:Masked Text Box does not allow paste when masked蒙版文本框在蒙版时不允许粘贴
【发布时间】:2013-11-14 18:55:49
【问题描述】:

我在使用蒙版文本框时遇到了一些问题,我似乎真的无法确定问题可能是什么。

只要掩码处于活动状态,我就无法粘贴到所述框中。我摘下面具,我做了——这是我做的唯一改变。我似乎无法弄清楚它是什么。盒子本身没有验证控件(验证脚本会在按下按钮时运行,但它是手动的,与控件事件无关)

// 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());            
    }

话虽如此,我所知道的表格上也没有任何可以抑制这种情况的代码。我做了一些搜索,但大多数人似乎都想禁止粘贴或复制功能。我需要他们活跃。有人对 idjit 有什么建议吗?如果您还需要任何进一步的信息,请告诉我。

谢谢

【问题讨论】:

  • 这个掩码只允许数字;所以我知道您只是想粘贴数字,不是吗?
  • 正确。我尝试粘贴一个 16 位数字,然后是一个 - 和另外两个数字。如果我尝试粘贴 18 位数字或 16-2,无论哪种方式,它都不会粘贴。粘贴选项确实出现在上下文菜单中,但在选择时不执行任何操作,并且 Ctrl V 也不执行任何操作。
  • 这没有任何意义。如果你在 VS 2010 中打开一个新项目,用你的代码(属性更改部分)在其上放​​置一个蒙版文本框,它会正常工作。如果您尝试粘贴数字 + 不支持的字符(例如,字母),则会粘贴数字并忽略不支持的字符。右键单击控件时,粘贴选项将始终存在,除非将 ReadOnly 设置为 true(或类似)。不确定您的项目中发生了什么,但您提供的信息/代码无法为您提供帮助。
  • sigh 我想可能是这样。我似乎无法弄清楚。谢谢。我会继续努力的。
  • 您必须提供更多信息。如果你没有它,你应该消除潜在的问题来源(例如,从头开始一个新项目)。我并不是说您的问题无法解决,而是您提供的信息无法解决。

标签: c# .net winforms visual-studio-2010


【解决方案1】:

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

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

我没有设置公寓状态。我刚刚设置好了,效果很好。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-23
    • 1970-01-01
    • 1970-01-01
    • 2012-07-07
    • 1970-01-01
    • 2011-10-20
    相关资源
    最近更新 更多