Я пытаюсь создать ярлык, который центрирован в форме, которая требует от меня использовать label.dock = dockStyle.Fill
. Поэтому я попытался реализовать код, который означает, что когда я удерживаю метку, я могу перемещать форму. Это то, что я до сих пор:перемещение формы путем размещения на этикетке
private void messageIndicator_MouseUp(object sender, MouseEventArgs e)
{
window.AllowTransparency = true;
window.TransparencyKey = window.TransparencyKey = window.BackColor;
isDragging = false;
}
void messageIndicator_MouseHover(object sender, EventArgs e)
{
window.AllowTransparency = false;
}
private void messageIndicator_MouseDown(object sender, MouseEventArgs e)
{
// Set the drag mode
isDragging = true;
// Get the initial location
lastLocation = e.Location;
}
private void messageIndicator_MouseMove(object sender, MouseEventArgs e)
{
// Only drag if in correct state (mouse down)
if (isDragging)
{
// The parameter sender is the form object
Form f = (Form)sender;
// Calculate the new location and update the form
f.Location = new Point((f.Location.X - lastLocation.X) + e.X, (f.Location.Y - lastLocation.Y) + e.Y);
f.Update();
}
}
messageIndicator
быть метка на форме. Он сбой при выполнении Form f = (form)sender
. Помощь была бы оценена :)
Нет, отправитель должен быть 'label'. Какое исключение он поднимает? – Shaharyar
Необработанное исключение типа «System.InvalidCastException» произошло в Pear GIS.exe Дополнительная информация: Невозможно передать объект типа «System.Windows.Forms.Label» для ввода «System.Windows.Forms.Form». – Khal786