我有兩個列表框,一個用於可用項目和一個用於選定項目,因此用戶可以通過拖放或雙擊鼠標在這兩者之間移動項目,單擊。 這不是一個完美的代碼,大部分的邏輯都是在MouseMove事件中寫入的,我可以在鼠標位置放置X和Y ...我正在尋找這種情況來防止它:用戶在左邊拿着鼠標左鍵列表框並選擇一個項目,但他在同一個列表框中再次釋放鼠標按鈕,所以我需要一種方法來知道它是否仍然在同一個列表框中,然後不要拖放...所以有一些方法可以告訴我可以使用的列表框的邊界嗎?或者你有更好的想法?知道鼠標左鍵是否釋放在同一個列表框中
private void lstAvailable_MouseMove(Object eventSender, MouseEventArgs eventArgs)
{
//*************** FUNCTION DETAILS ***************
//User moves mouse in the Available list
//***************** INSTRUCTIONS *****************
MouseButtons Button = eventArgs.Button;
int Shift = (int)Control.ModifierKeys/0x10000;
float X = (float)VB6.PixelsToTwipsX(eventArgs.X);
float Y = (float)VB6.PixelsToTwipsY(eventArgs.Y);
moDualListBox.List1_MouseMove(Button, Shift, X, Y);
if (eventArgs.Button == MouseButtons.Left)
{
if (!mbClickProcessed) // it is a DragDrop
{
this.lstAvailable.DoDragDrop(this.lstAvailable.SelectedItems, DragDropEffects.Move);
mbClickProcessed = true;
}
if (mbClickProcessed) // it is a DoubleClick
{
MoveClick();
MoveLostFocus();
mbClickProcessed = true;
}
}
}
沒有工作。我很快就會把MouseMove邏輯放在我的問題中,這種邏輯寫得不夠好,不足以處理這個問題。 – Bohn
我們可以看到你用來試用我的解決方案的代碼(和@LarsTech之一,在這裏也有描述)嗎?它真的很奇怪,不起作用... – Marco
當然。我用代碼更新了我的問題。 – Bohn