C# 单击鼠标中键复制并删除复制时的选择
我希望您能够在我的程序中选择要复制的文本,并且除了CTRL-C之外,还可以自动复制它。例如。如果我选择此选项,则会自动将其复制到鼠标中键。这是到目前为止我的代码。我一直在看中间点击事件,但我不知道如何称呼它。 我想把它作为一个if语句 这是我的代码:C# 单击鼠标中键复制并删除复制时的选择,c#,winforms,clipboard,C#,Winforms,Clipboard,我希望您能够在我的程序中选择要复制的文本,并且除了CTRL-C之外,还可以自动复制它。例如。如果我选择此选项,则会自动将其复制到鼠标中键。这是到目前为止我的代码。我一直在看中间点击事件,但我不知道如何称呼它。 我想把它作为一个if语句 这是我的代码: private void GetAnswer(string clipboardText) { //Loop through all questions and answers foreach (question q in questionL
private void GetAnswer(string clipboardText)
{
//Loop through all questions and answers
foreach (question q in questionList)
{
//If we have found an answer that is exactly the same show an Notification
//Startwith zoekt naar alle vragen die matchen vanaf het begin van de zin
//en Endwith alle vragen die matchen vanaf het eind van de zin
if (q._question.StartsWith(clipboardText) || q._question.EndsWith(clipboardText))
{
ShowNotification(q._question, q._answer);
break;
}
}
}
private void ShowNotification(string question, string answer)
{
notifyIcon1.Icon = SystemIcons.Exclamation;
notifyIcon1.BalloonTipTitle = question;
notifyIcon1.BalloonTipText = answer;
notifyIcon1.BalloonTipIcon = ToolTipIcon.Error;
notifyIcon1.ShowBalloonTip(1000);
}
protected override void WndProc(ref Message m)
{
base.WndProc(ref m);
{
const int WM_DRAWCLIPBOARD = 0x308;
if (m.Msg == WM_DRAWCLIPBOARD)
{
GetAnswer(Clipboard.GetText(TextDataFormat.UnicodeText));
}
}
}
我认为解决方法是处理表单的按键事件。 示例代码可能如下所示:
private void form1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar==';')
{
//call whatever u want here
}
}
private void form1_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
//do whatever u want
}
}
要将此文本粘贴到哪里?我认为你应该使用一些组件。。。。和处理事件。你也应该提供更多关于你的问题的信息。至少现在还不清楚me@BartoszOlchowik我更新了我的codeOnly剪贴板查看器windows接收消息:WM_DRAWCLIPBOARD。您是否已将表单注册为剪贴板查看器?这里的描述:@BartoszOlchowik已经这么做了怎么做的?请更新代码。但是如果你用鼠标左键单击,我需要它。我得到了这个错误。当前上下文中不存在名称e。请更新你的有问题的代码。。。你是否从设计器中添加了事件,或者只是将其粘贴到代码中?如果你使用剪贴板选择了一些内容,我只想获得输出。GetTextRead关于c事件以及如何定义它们。首先,我建议您使用Designer,然后右键单击表单上的属性窗口。然后,您应该转到一个事件页面照明螺栓图标。然后你必须找到MouseClick事件,双击它而不是名字,双击空白点,它位于它的名字的右边。然后,设计器将正确地在代码中添加事件,并且不会出现此错误。您拥有它,因为您没有声明参数“e”。