Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Работа тестировщиком после переезда в Германию

23.12.20 09:21
Re: Работа тестировщиком после переезда в Германию
 
uscheswoi_82 местный житель
uscheswoi_82
в ответ AlexNek 22.12.20 23:22

Вот исходники, я делал элемент управления для моей врачебной компьютерной программы, а дальше делаете так, вставляете мой элемиент в свою форму, скажим назовём ctlAppointment1, и пишите так:

ctlAppointment1.add_appointment(new DateTime(2020, 1, 30, 11, 5, 0), new System.Windows.Forms.Label { Text = "Вася Пупкин", BackColor = Color.Red, ForeColor = Color.White, TextAlign = ContentAlignment.MiddleCenter});
ctlAppointment1.add_appointment(new DateTime(2020, 1, 30, 11, 25, 0), new System.Windows.Forms.Label { Text = "Баба Маша", BackColor = Color.Blue, ForeColor = Color.White, TextAlign = ContentAlignment.MiddleCenter });ctlAppointment1.add_appointment(new DateTime(2020, 1, 30, 11, 45, 0), new System.Windows.Forms.Label { Text = "Баба Зина", BackColor = Color.Blue, ForeColor = Color.White, TextAlign = ContentAlignment.MiddleCenter });


Я хитро сделал вот так:

Это определение день недели:

/* Вычисляем день недели */
if (dt_time.DayOfWeek == DayOfWeek.Monday)
int_col = 1; // Понедельник
else if (dt_time.DayOfWeek == DayOfWeek.Tuesday)
int_col = 2; // Вторник
else if (dt_time.DayOfWeek == DayOfWeek.Wednesday)
int_col = 3; // Среда
else if (dt_time.DayOfWeek == DayOfWeek.Thursday)
int_col = 4; // Четверг
else if (dt_time.DayOfWeek == DayOfWeek.Friday)
int_col = 5; // Пятница
else if (dt_time.DayOfWeek == DayOfWeek.Saturday)
int_col = 6; // Суббота
if (dt_time.DayOfWeek == DayOfWeek.Sunday)
int_col = 7; // Воскресенье

Это определение времени:

/* Типа округления */
if (dt_time.Minute == 0) int_minute = 0;
else if (dt_time.Minute >= 0 && dt_time.Minute < 15) int_minute = 0; // Есди между 0..15 минут, то 0 минут
else if (dt_time.Minute >= 15 && dt_time.Minute < 30) int_minute = 15; // Есди между 15..30 минут, то 15 минут
else if (dt_time.Minute >= 30 && dt_time.Minute < 45) int_minute = 30; // Есди между 30..45 минут, то 30 минут
else if (dt_time.Minute >= 45 && dt_time.Minute < 59) int_minute = 45; // Есди между 45..59 минут, то 45 минут

Это поиск и добавление элемента:

/* Итерация всех дочерних элементов в таблице */
foreach (Control c in this.tblAppointment.Controls)
{
/* Если это время, и */
if (DateTime.TryParse(c.Text, out dt_out) && dt_out != null && dt_out.Hour == dt_time.Hour && dt_out.Minute == int_minute)
{
TableLayoutPanel t = (TableLayoutPanel)c.Parent; // Получаем родительский элемент
int_row = t.GetRow(c); // Находим строку по объекту
tblAppointment.Controls.Add(ctl, int_col, int_row); // Добавляем элемент
}
}


P.S.: ctlAppointmentCell это я хотел сделать сложный элемент...

Вот исходники контрола, а на HTML5 и JavaScript проблем поменять нет...


Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
 

Перейти на