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

Затемнение полей

13.09.2015, 23:16. Просмотров 325. Ответов 1
Метки нет (Все метки)

Добрый вечер, при установке заднего фона в программе, программа немного глючит, а именно при сворачивании-разворачивании, все элементы на секунду становятся черными, как исправить?
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
            label1.BackColor = Color.Transparent;
            label2.BackColor = Color.Transparent;
            label3.BackColor = Color.Transparent;
            label4.BackColor = Color.Transparent;
            label5.BackColor = Color.Transparent;
            checkBox1.BackColor = Color.Transparent;
            checkBox2.BackColor = Color.Transparent;
        }
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                if (textBox1.Text == String.Empty)
                {
                    MessageBox.Show("Поле нельзя оставлять пустым", "Ошибка");
                }
 
                var str = textBox1.Text; 
                int p, q;
                string cript = "CP866";
                string kod1251 = Convert.ToString(1251);
                string kod866 = "CP866";
                
                p = Convert.ToInt32(textBox2.Text); //получение значений из поля
                q = Convert.ToInt32(textBox3.Text);
                
                for (int i = 2; i * i <= p; i++) 
                {
                    if (p % i == 0)
                    {
                        label4.Text = ("Число p может быть только простым");
                        return;
                    }
                }
                for (int i = 2; i * i <= p; i++)
                {
                    if (q % i == 0)
                    {
                        label4.Text = ("Число q может быть только простым");
                        return;
                    }
                }
 
                if (checkBox1.Checked == true)
                {
                    cript = kod866;
                }
                if (checkBox2.Checked == true)
                {
                    cript = kod1251;
                }
 
                var n = p * q; //получаем число n
                var hash = GetHashCode(str, n, cript);
                label4.Text = Convert.ToString(hash);
            }
            catch(FormatException)
            {
                MessageBox.Show("Внимание, в полях p и n могут быть только простые числа","Ошибка");
            }
        }
 
        static int GetHashCode(string str, int divider, string cript)
        {
            byte[] bytes;
            if (cript == "CP866")
            {
                 bytes = Encoding.GetEncoding("CP866").GetBytes(str);
            }
            else
            {
                bytes = Encoding.GetEncoding(1251).GetBytes(str);
            }
            var hash = 0;
            var counter = 1;
 
            foreach (var b in bytes)
            {
                var left = (byte)(b >> 4);//берем левые 4 бита
                GetHashCode(left, divider, ref hash, counter++);
 
                var right = (byte)(b & 0x0F);//берем правые 4 бита
                GetHashCode(right, divider, ref hash, counter++);
            }
 
            return hash;
        }
 
        static void GetHashCode(byte m, int divider, ref int h, int counter)
        {
            m = (byte)(m + 0xF0);//добавляем 11110000
 
            int mh = m ^ h;//сложение по модулю два с хешем
 
            h = (mh * mh) % divider;//возводим в квадрат и берем модуль по основанию divider
        }
 
        //преобразование в строку в бинарном формате, для вывода на экран
        static string ToBin(int v)
        {
            return Convert.ToString(v, 2).PadLeft(8, '0');
        }
 
        private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
            if (checkBox1.Checked == true)
            {
                checkBox2.Checked = false;
            }
            else
            {
                checkBox2.Checked = true;
            }
        }
 
        private void checkBox2_CheckedChanged(object sender, EventArgs e)
        {
            if (checkBox2.Checked == true)
            {
                checkBox1.Checked = false;
            }
            else
            {
                checkBox1.Checked = true;
            }
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
 
        }
    }
}
0
Миниатюры
Затемнение полей   Затемнение полей  
Вложения
Тип файла: rar WindowsFormsApplication2.rar (407.3 Кб, 2 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.09.2015, 23:16
Ответы с готовыми решениями:

Затемнение экрана
Всем доброго времени суток! С WinForms пока мало знаком, но необходимо решить...

Затемнение картинки в picturebox-ах
Итак, имеется picturebox в который загружается картинка, суть проблемы в том,...

Затемнение формы без приостановок основного потока
Нужно организовать плавное заметнее всей формы (включая все элементы), причем...

Вывод в DataGridView полей некоторого экземпляра класса, в котором одно из полей является списком List
Здравствуйте, помогите плиз!!! Возникла потребность вывода в DataGridView полей...

Затемнение окна
Есть оконное приложение и мне нужно по кнопке затемнить(сделать неактивной)...

1
Storm23
Эксперт .NETАвтор FAQ
5968 / 3567 / 1342
Регистрация: 11.01.2015
Сообщений: 4,705
Записей в блоге: 31
13.09.2015, 23:41 #2
Fresta,
C#
1
this.BackgroundImageLayout = ImageLayout.None;
PS А еще лучше вообще уберите фон, наврядли вы кого-то поразите его красотой.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.09.2015, 23:41

Заполнение полей класса
Всем привет, речь идет об обновлений строк бд в проекте LinqToSQL. Т.е. есть...

Binding вычисляемых полей
На форме у нас есть 3 numerecUpDown контроллера. Создаем два вычисляемых...

Редактирование значений полей
Еще парочка нубских вопросов, if you don't mind. Есть несколько полей,...


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

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

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