С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
NikaNiki
0 / 0 / 0
Регистрация: 06.11.2016
Сообщений: 5
1

Залить фон PictureBox цветом, взятым из ячейки файла Excel

18.11.2016, 12:25. Просмотров 418. Ответов 3

Пожалуйста помогите. Нужно залить фон picturebox цветом, взятым из ячейки excel файла. Как это сделать? C#
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2016, 12:25
Ответы с готовыми решениями:

Как залить полигон цветом
Point3D w = new Point3D; PointF v = new PointF; double phi =...

Закрасить сетку PictureBox цветом
Здравствуйте! Возможно, такая тема уже была, но на тех, что были, я ответа не...

Заливка цветом загруженного изображения в PictureBox
Возникла какая-то несуразица. Существует вполне работоспособный и проверенный...

Закрасить фон TextBox цветом, если он пуст
Всех с праздниками! У меня два вопроса. Есть вот такой код, который работает...

Прозрачный фон у pictureBox
Как его установить? Ставлю картинку .png, вижу белый задний фон у pictureBox....

3
ViterAlex
6838 / 3800 / 1553
Регистрация: 11.02.2013
Сообщений: 8,348
Завершенные тесты: 3
18.11.2016, 18:04 2
проблема в том, чтобы перевести цвет Excel в RGB? или в принципе как получить цвет фона ячейки и залить им Picturebox?
0
NikaNiki
0 / 0 / 0
Регистрация: 06.11.2016
Сообщений: 5
21.11.2016, 11:19  [ТС] 3
В принципе получить цвет фона ячейки и залить Picturebox
0
ViterAlex
6838 / 3800 / 1553
Регистрация: 11.02.2013
Сообщений: 8,348
Завершенные тесты: 3
22.11.2016, 07:41 4
Ну если в принципе, то держи.
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
public partial class MainForm : Form
{
    public MainForm()
    {
        InitializeComponent();
        //Событие прорисовки PictureBox
        pictureBox1.Paint += (sender, args) =>
        {
            if (_color.IsEmpty)
                return;
            using (var brush = new SolidBrush(_color))
                args.Graphics.FillRectangle(brush, ClientRectangle);
        };
        RunExcel();
    }
 
    private void RunExcel()
    {
        Type xlType = Type.GetTypeFromProgID("Excel.Application");
        //Создание экземпляра приложения Excel
        dynamic xlApp = Activator.CreateInstance(xlType);
        xlApp.Visible = true;
        //Привязка к событию смены ячейки
        EventInfo ei = xlType.GetEvent("SheetSelectionChange");
        Type deleg = ei.EventHandlerType;
        MethodInfo mi = GetType().GetMethod("SheetSelectionChange", BindingFlags.NonPublic | BindingFlags.Instance);
        MethodInfo addHandler = ei.GetAddMethod();
        object[] addHandlerArgs = { Delegate.CreateDelegate(deleg, this, mi) };
        addHandler.Invoke(xlApp, addHandlerArgs);
    }
 
    private Color _color;
    private void SheetSelectionChange(object sheet, dynamic range)
    {
        int color = (int)range.Interior.Color;
        _color = ColorTranslator.FromOle(color);
        pictureBox1.Invalidate();
    }
}
Запускаешь приложение. Оно запускает Excel. Фон PictureBox меняется в соответствии с фоном выбранной ячейки Excel
1
Миниатюры
Залить фон PictureBox цветом, взятым из ячейки файла Excel  
Вложения
Тип файла: zip ExcelCellColor.zip (17.2 Кб, 1 просмотров)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.11.2016, 07:41

Прозрачный фон PictureBox'а
У меня в программе в одном PictureBox'е рисуются линии, а другой маленький...

Прозрачный фон у PictureBox
У меня в PictureBox ромбик в формате .png. На форме рисуется линия к ромбику....

Прозрачный фон pictureBox
Как сделать так чтоьы фон pictureBox был прозрачным но просто изменить...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru