【问题标题】:Get radio button from text in clipboard从剪贴板中的文本获取单选按钮
【发布时间】:2016-05-31 13:34:15
【问题描述】:

我看到在 MS Word 中,我们可以粘贴一些多项选择题,并且保留单选按钮。所以我知道在剪贴板数据中,选中或未选中的单选按钮仍然存在,但无法粘贴到 Textbox 或 Rich TextBox 中,所以我认为唯一简单的方法(无需创建新的文本框) 是在单选按钮仍在剪贴板数据中时处理它,并将其替换为我们喜欢的一些 unicode 字符。

我的问题是:MS .Net 框架是否提供可以保留单选按钮的文本框?如果没有,当文本数据在剪贴板中时如何检测单选按钮。

感谢阅读:)

我正在尝试使用该函数:Clipboard.GetData("HTML Format").ToString(),但我对标签感到困惑,写的 html 翻译已经用尽,可能无法正常工作。

【问题讨论】:

    标签: textbox clipboard radio


    【解决方案1】:

    我知道了,我认为 MS word 也获得了单选按钮,因为它检测到了 html 代码,所以这就是我的做法。

    if (Clipboard.ContainsData("HTML Format"))
            {                
                string data = Clipboard.GetData("HTML Format").ToString();
    
                int start, end;
                data = data.Replace(" ", " ");
                //data = data.Replace(Environment.NewLine + "    ", " ");
                string subData;
                while (data.Contains('<') && data.Contains('>'))
                {
                    start = data.IndexOf('<');
                    end = data.IndexOf('>');
                    subData = data.Substring(start, end - start + 1);
                    if (subData.Contains("checked="))
                        data = data.Insert(end+1, "`");
                    data = data.Remove(start, end - start+1);
                }
                foreach(string str in data.Split(Environment.NewLine.ToCharArray()))
                {
                    if (!string.IsNullOrWhiteSpace(str))
                    {                        
                        builder.Append(str);
                        builder.Replace("   ",string.Empty);
                        builder.Replace("  ", string.Empty);
                        builder.Append(Environment.NewLine);
                    }
    
                }
    
                richTextBox1.Text = builder.ToString();
                MessageBox.Show("complete");
                Clipboard.SetText(builder.ToString());
                builder.Clear();
            }
    

    我知道这段代码并不完美,但它确实解决了我的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-02
      • 1970-01-01
      • 2016-10-06
      • 1970-01-01
      相关资源
      最近更新 更多