我有一个带有多个文本框的 Windows 窗体应用程序。我正在尝试向其中添加右键单击复制和粘贴功能。我使用 ContextMenuStrip 添加了右键单击菜单。但是,我将此菜单用于应用程序中的 2 个不同文本框。当我从 1 个文本框中选择并突出显示一些文本,然后通过选择并突出显示另一个文本框中的文本来执行相同的操作时,它会复制两个文本框中的文本。我如何将它分开,以便它知道要从哪个文本框复制?
这是我的代码:
private void copyToolStripMenuItem_Click(object sender, EventArgs e)
{
string leadSelectedText = leadsTextBox.SelectedText;
string resultSelectedText = resultTextBox.SelectedText;
Console.WriteLine(leadSelectedText);
Console.WriteLine(resultSelectedText);
}
最佳答案
如果您想确定鼠标悬停在哪个文本框上,您可以尝试以下操作。
if (leadsTextBox == GetChildAtPoint(MousePosition))
{
//copy from leads text
}
else if (resultTextBox == GetChildAtPoint(MousePosition))
{
//copy from results text
}
如果鼠标不必悬停在要复制的文本框上,您始终可以存储上次单击的文本框。
Textbox lastClicked;
private void leadsTextbox_mouseDown()
{
if (!string.IsNullOrEmpty(leadsTextbox.SelectText))
lastClicked = leadsTextbox;
}
关于C# 从正确的文本框中选择文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33873557/