Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 1
Регистрация: 14.09.2014
Сообщений: 7
1

Скролл конфликтует с pictureBox

14.12.2014, 02:04. Показов 969. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Приветствую, уважаемые.

Есть "просмотрщик" изображений.

Добавил туда чекбокс для растягивания изображения, дабы картинка могла подогнаться под pictureBox, и добавил скролл.

Если чекаю чекбокс — картинка растягивается как надо

Скролл конфликтует с pictureBox


, но!
Если до растягивания изображение поскроллить, то после тыка на чекбокс у картинки появляется пустое пространство

Скролл конфликтует с pictureBox


, и если убрать галку — пространство всё равно останется.

Не подскажете, в чем может быть проблема?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace app_showimage
{
    public partial class mainwindow : Form
    {
        public mainwindow()
        {
            InitializeComponent();
        }
 
        private void mainwindow_Load(object sender, EventArgs e)
        {
            this.Text = "Изображение";
            button1.Text = "Показать изображение";
            this.Width = 500; this.Height = 500;
        }
 
        private void button1_Click_1(object sender, EventArgs e)
        {
            // Открывает диалоговое окно.
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                pictureBox1.Load(openFileDialog1.FileName);
            }
 
        }
 
        private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
            // Если чекбокс, то Sizemode PictureBox меняется на "Stretch". 
            // Если чекбокса нет, то Sizemode стоит на "Normal".      
            if (checkBox1.Checked)
                pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
            else
                pictureBox1.SizeMode = PictureBoxSizeMode.AutoSize;
                panel1.AutoScroll = true;
        }
 
        private void button3_Click(object sender, EventArgs e)
        {
            // Очистить.
            pictureBox1.Image = null;
        }
 
        private void button4_Click(object sender, EventArgs e)
        {
            pictureBox1.Image = Image.FromFile("../../../../Graphics/Graphics/Resources/mark.jpg");
        }
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.12.2014, 02:04
Ответы с готовыми решениями:

Cортировка конфликтует с выводом данных из таблицы в ListView
private void ShowDB() { SqlCeEngine engine = new SqlCeEngine("Data...

Прозрачный фон у картинки на элементе PictureBox непрозрачен для другого PictureBox
Здравствуйте! Проблема состоит в следующем! У меня есть картинка .png с прозрачным фоном. При...

Как с Form4 дать нужным PictureBox видимость, если PictureBox из Form6
Как с Form4 по нажатию кнопки дать нужным PictureBox видимость, если PictureBox из Form6?...

Клик по PictureBox: получение координат клика на PictureBox.Image
Собственно имею PictureBox, например размерами 500 на 500 и в нем есть картинка, например размерами...

1
0 / 0 / 1
Регистрация: 14.09.2014
Сообщений: 7
15.12.2014, 16:20  [ТС] 2
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
            {
                // Если чекбокс, то Sizemode PictureBox меняется на "Stretch". 
                // Если чекбокса нет, то Sizemode стоит на "Normal".      
                if (checkBox1.Checked)
                {
                    panel1.AutoScroll = false;
                    pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
                }
                else
                {
                    panel1.AutoScroll = true;
                    pictureBox1.SizeMode = PictureBoxSizeMode.AutoSize;
                }
            }
        }
В общем, всё исправил добавлением false (не знаю, почему пропустил).
0
15.12.2014, 16:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.12.2014, 16:20
Помогаю со студенческими работами здесь

Склеивание изображения нескольких picturebox в один picturebox
Здравствуй, такой вопрос возник на счет picturebox. Можно ли из 3-ех к примеру picturebox(в каждом...

Как расположить PictureBox над PictureBox
Пишу редакто блок-схем. Рабочая область - PictureBox. Как сделать так, что бы остальные...

Windows XP конфликтует
Во время просмотра "Россия 24" на сайте www.vesti.ru изображение исчезает, а вместо него чёрный...

HttpPost конфликтует с БД
Добрый вечер! Столкнулся со следующей проблемой, я имею два корректно работающих приложения:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru