Доброй ночи. Создаю свою библиотеку методов и не понимаю, как в параметр функции добавить ссылку на элемент управления? Сами элементы управления:
Мой первый метод с ошибкой:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace ПАК_ИП_ОЭБ
{
class InterfaceLibClass1
{
static public bool isDragging = true;
static public void Dragging(object sender, MouseEventArgs e, string occasion, bool isDragging = true)
{
int oldX, oldY;
if (occasion == "MouseDown"){
oldX = e.X;
oldY = e.Y;
}
else if (occasion == "MouseMove") {
oldX = e.X;
oldY = e.Y;
sender.Top = sender.Top + (e.Y - oldY);
sender.Left = sender.Left + (e.X - oldX);
}
else if (occasion == "MouseUp") {
isDragging = false;
}
}
}
}
sender - это object. А у object нет свойств. Вам нужно тип object отправителя привести к типу Control. Например:
if(sender is Control)
{
var yourControl = sender as Control;
}
Для C# 7.0. можно так (комментарий @VladD):
if (sender is Control yourControl) { ... }
Сборка персонального компьютера от Artline: умный выбор для современных пользователей