Задать вопрос
@idgarik05

Как сделать программу которая будет создавать кнопку на месте курсора в C#?

Всех приветствую. Нужно разработать программу, динамически порождающую на окне кнопки. Левый верхний угол кнопки определяется местоположением курсора при щелчке. Вывести надпись на кнопке с координатами ее левого верхнего угла. Все это нужно сделать внутри элемента StackPanel. Заранее благодарю
  • Вопрос задан
  • 208 просмотров
Подписаться 1 Средний 1 комментарий
Решения вопроса 2
Adler_lug
@Adler_lug
Вы сайтом ошиблись. Вам сюда.
Ответ написан
Комментировать
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
На форме обработчик клика.
В обработчике добавляете баттон в дочерние контролы.

А так пишите код если что то пойдет не так приводите пример.

using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;

namespace WpfApp1
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            Counter = 1;
        }
        public int Counter { get; set; }


        private void MainStack_MouseDown(object sender, MouseButtonEventArgs e)
        {
            MainStack.Children.Add(new Button()
            {
                Width = 800,
                Height = 25,
                Content = $"Button {Counter++}"
            });
        }
    }
}


<Window x:Class="WpfApp1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp1"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <StackPanel Width="800" Height="450" Background="AliceBlue"
                    Name="MainStack" MouseDown="MainStack_MouseDown">
           
        </StackPanel>
    </Grid>
</Window>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы