Member 13493645 Ответов: 0

Как отобразить выбранное изображение на другой странице, например, с помощью элемента управления tab?


Я могу отображать только все выбранные изображения внутри формы. Я хочу отобразить выбранное изображение на другой странице,например,с помощью tab control с помощью кнопок back, next и home, как это сделать?

Что я уже пробовал:

private string imageDirectory = @"C:\Users\Tan Wei Shen\Desktop\FYP\Vehicles";

        private void Form1_Load(object sender, EventArgs e)
        {
            var listBoxLabel = new Label
            {
                Text = "File Names",
                Left = 20,
                Width = 150,
                Top = 20
            };
            this.Controls.Add(listBoxLabel);

            var checkedListBox = new CheckedListBox
            {
                Left = 20,
                Top = listBoxLabel.Bottom + 5,
                Width = 150,
                CheckOnClick = true,
                DataSource = Directory.GetFiles(imageDirectory)
                    .Select(Path.GetFileName).ToList()
            };
            checkedListBox.SelectedValueChanged += CheckedListBox_SelectedValueChanged;
            this.Controls.Add(checkedListBox);

            var showImagesButton = new Button
            {
                Top = checkedListBox.Bottom + 5,
                Left = 20,
                Width = 150,
                Text = "Display Selected Images"
            };
            showImagesButton.Click += ShowImagesButton_Click;
            this.Controls.Add(showImagesButton);
        }

        private List<string> imageNames = new List<string>();

        private void CheckedListBox_SelectedValueChanged(object sender, EventArgs e)
        {
            var checkedListBox = sender as CheckedListBox;
            imageNames = checkedListBox.CheckedItems.Cast<string>().ToList();
        }

        private void ShowImagesButton_Click(object sender, EventArgs e)
        {
            if (imageNames.Any())
            {
                var imageDimension = 400;  // Specifies the size of the image control
                

                var form = new Form
                {
                    Text = "Selected Images",
                    Width = 1024,
                    Height = 600  
                };

                for (int i = 0; i < imageNames.Count; i++)
                {                   
                    var pictureBox = new PictureBox();
                    pictureBox.Image = Image.FromFile(Path.Combine(imageDirectory, imageNames[i]));
                    pictureBox.Left = 320; 
                    pictureBox.Top = 150;
                    pictureBox.Width = imageDimension;
                    pictureBox.Height = imageDimension;
                    form.Controls.Add(pictureBox);
                }
                this.Hide();
                form.Show();
            }
        }

BillWoodruff

Итак, почему бы вам не добавить TabControl и не использовать его ?

Member 13493645

я не знаю, как поставить TabControl и использовать для этого. Ты можешь мне помочь?

BillWoodruff

Какую IDE вы используете ? Visual Studio ? Это проект WinForms ? WPF ?. Почему вы создаете элементы управления во время выполнения, а не во время разработки ?

Member 13493645

Я использую visual studio, и это проект WinForms. Мне очень жаль, потому что я новичок в c# и понятия не имею, как это сделать.

0 Ответов