Как сделать работающую прозрачную кнопку в С#C#

Место общения программистов C#
Ответить
Anonymous
 Как сделать работающую прозрачную кнопку в С#

Сообщение Anonymous »

Я пытаюсь создать функцию, позволяющую пользователю перетаскивать программу из определенного места в окне. У меня есть функция перетаскивания, закодированная в программе, но я не могу найти способ указать, откуда в окне должно происходить перетаскивание.
Я новичок в программировании, и я Я бы это сделал, если бы какие-либо ответы могли немного его затупить.
Сейчас я пытаюсь сделать панель прозрачной, но при этом способной взаимодействовать с мышью, но добавление прозрачности просто делает панель не может взаимодействовать. Панель также вырезает остальную часть моего окна, когда я хочу, чтобы панели за прозрачной панелью были видны.

Код: Выделить всё

private bool _dragging = false;
private Point _start_point = new Point(0, 0);

private bool veiwSettings = false;

public Form1()
{
InitializeComponent();
this.BackColor = Color.LimeGreen;
this.TransparencyKey = Color.LimeGreen;
this.TopMost = true;

panel1.BackColor = Color.FromArgb(0, 1, 1, 1);

pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
pictureBox1.Image = new Bitmap("EverythingElse\\Pictures\\space.png");

groupBox1.Visible = false;
}

private int Count = 0;
List paths = new List
{
"Ash.jfif","Bed.png","space.png"
};
private void button1_Click(object sender, EventArgs e)
{
pictureBox1.Image = new Bitmap("EverythingElse\\Pictures\\" + paths[Count]);
Count++;
if (Count >= paths.Count) Count = 0;
}
private void Exit_Click(object sender, EventArgs e)
{
Application.Exit();
}

private void panel1_MouseDown(object sender, MouseEventArgs e)
{
_dragging = true;
_start_point = new Point(e.X, e.Y);

}

private void panel1_MouseMove(object sender, MouseEventArgs e)
{
if (_dragging)
{
Point p = PointToScreen(e.Location);
Location = new Point(p.X - this._start_point.X, p.Y - this._start_point.Y);
}
}

private void panel1_MouseUp(object sender, MouseEventArgs e)
{
_dragging = false;
}

private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
veiwSettings = !veiwSettings;
}
if (veiwSettings == true)
{
groupBox1.Visible = true;
}
else
{
groupBox1.Visible = false;
}
}
Было бы проще попытаться сделать панель прозрачной или что-то другое сработает лучше? Введите описание изображения здесь введите описание изображения здесь

Подробнее здесь: https://stackoverflow.com/questions/793 ... in-c-sharp
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»