Настройка визульных компонентов Windows Forms

Я разрабатываю приложение, которое позволяет размещать цветы на клумбе.

Цветы - это фотографии из интернета, размер клумбы и форму задается пользователями.

Приложение кроссплатформенное, разрабатываю на C# в качестве фреймворка использую Windows Forms.

Это черновой вариант приложения:

using System;
using System.Drawing;
using System.Net;
using System.Windows.Forms;

namespace FlowersAndFlowerbeds
{
    public partial class MainForm : Form
    {
        public MainForm()
        {
            InitializeComponent();
        }

        private void LoadFlowerImage(string imageUrl, string flowerName)
        {
            try
            {
                WebClient webClient = new WebClient();
                byte[] imageData = webClient.DownloadData(imageUrl);
                Image img = Image.FromStream(new MemoryStream(imageData));

                PictureBox flowerPictureBox = new PictureBox();
                flowerPictureBox.Image = img;
                flowerPictureBox.SizeMode = PictureBoxSizeMode.Zoom; // Display the image without stretching
                flowerPictureBox.Tag = flowerName; // Store the flower name as a tag

                // Add a click event handler to change the height of the flower when clicked
                flowerPictureBox.Click += (sender, e) =>
                {
                    // Change the height of the flower accordingly
                };

                Controls.Add(flowerPictureBox);
            }
            catch (Exception ex)
            {
                MessageBox.Show($"Error loading image: {ex.Message}");
            }
        }

        private void MainForm_Load(object sender, EventArgs e)
        {
            LoadFlowerImage("https://example.com/rose.jpg", "Rose");
            // Add more flowers as needed
        }
    }
}

Я бы хотел узнать как можно изменить визуальные компоненты в Windows Forms.

И где лучше хранить данные пользователя.


Ответы (1 шт):

Автор решения: Deniska SosiSka

Вот хороший ресурс по Windows Forms, там подробно разобраны визуальные элементы и работа с их свойствами для настройки.

Так-же можете обратить внимание на сторонние библиотеки элементов (у которых дизайн посвежее), например MaterialSkin.

Для большой графической гибкости (да и в принципе), я бы рекомендовал использовать современные кроссплотформенные решения, для C# это - MAUI (на русском почитать тут).


Пользовательские данные можно хранить в MsSql, PostgreSQL, SQLite, MongoDb и т.д. - это зависит только от данных, вариантов их использования, бюджетов и архитектуры приложения

→ Ссылка