从剪贴板中的文本获取单选按钮
Get radio button from text in clipboard
我看到在 MS Word 中,我们可以粘贴一些选择题,它保留了单选按钮。所以我知道在剪贴板数据中,选中或未选中的单选按钮仍然存在,但不能粘贴到文本框或富文本框中,所以我认为唯一简单的方法(无需创建新类型的文本框) 是在单选按钮还在剪贴板数据中时处理单选按钮,并用我们喜欢的一些 unicode 字符替换它。
我的问题是:MS .Net框架是否提供了可以保留单选按钮的文本框?如果没有,当文本数据在剪贴板中时如何检测单选按钮。
感谢阅读:)
我正在尝试使用函数:Clipboard.GetData("HTML Format").ToString() ,但我对标签感到困惑,写 html 翻译已经用完了,也许无法正常工作。
我知道了,我认为 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();
}
我知道这段代码并不完美,但它确实解决了我的问题。
我看到在 MS Word 中,我们可以粘贴一些选择题,它保留了单选按钮。所以我知道在剪贴板数据中,选中或未选中的单选按钮仍然存在,但不能粘贴到文本框或富文本框中,所以我认为唯一简单的方法(无需创建新类型的文本框) 是在单选按钮还在剪贴板数据中时处理单选按钮,并用我们喜欢的一些 unicode 字符替换它。
我的问题是:MS .Net框架是否提供了可以保留单选按钮的文本框?如果没有,当文本数据在剪贴板中时如何检测单选按钮。
感谢阅读:)
我正在尝试使用函数:Clipboard.GetData("HTML Format").ToString() ,但我对标签感到困惑,写 html 翻译已经用完了,也许无法正常工作。
我知道了,我认为 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();
}
我知道这段代码并不完美,但它确实解决了我的问题。