/* События */ /// <summary> /// Событие выбора элемента списка знаков /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void listSigns_SelectedValueChanged(object sender, EventArgs e) { try { int index = ((ListBox)sender).SelectedIndex; if (index != -1) { ImageWorker IM = new ImageWorker(); road_sign sign = PE.road_sign.ToArray <road_sign>()[index]; pbImage.BackgroundImage = IM.GetImageByRelativePath(sign.img); tbType.Text = PE.type_road_sign.Where(x => x.code_type_road_sign == sign.code_type_sign).First().name; tbDescription.Text = sign.description; listResolution.Items.Clear(); listProhibishin.Items.Clear(); foreach (act item in PE.item_list_resolution.Where(x => x.code_road_sign == sign.code_road_sign).Select(x => x.act)) { listResolution.Items.Add(item.name); } foreach (act item in PE.item_list_prohibition.Where(x => x.code_road_sign == sign.code_road_sign).Select(x => x.act)) { listProhibishin.Items.Add(item.name); } } } catch (Exception ex) { MessageBox.Show(ex.StackTrace); } }
/// <summary> /// Добавление знака в контейнер выбранных знаков /// </summary> /// <param name="sign"></param> private void AddToFlowSelectedSigns(road_sign sign) { try { foreach (PictureBox item in flowListSelectedSign.Controls) { if (item.Tag != null && item.Tag.ToString() == sign.pdd_number) { return; } } ImageWorker IM = new ImageWorker(); PictureBox pb = new PictureBox(); pb.BackgroundImage = IM.GetImageByRelativePath(sign.img); pb.Width = 64; pb.Height = 64; pb.Tag = sign.pdd_number; pb.BackgroundImageLayout = ImageLayout.Stretch; flowListSelectedSign.Controls.Add(pb); SelectedSign.Add(sign); } catch (Exception ex) { MessageBox.Show(ex.StackTrace); } }
public SignPanel(road_sign sign, Bitmap image, MainWindow parent) { InitializeComponent(); this.Sign = sign; this.ParentWindow = parent; this.lbNumber.Text = sign.pdd_number; this.tnName.Text = sign.name; this.cbSelected.Checked = false; ImageWorker IW = new ImageWorker(); pbImage.BackgroundImage = IW.GetImageByRelativePath(sign.img); }
/// <summary> /// Заполнение панели знаками одного типа /// </summary> /// <param name="newFlow"></param> /// <param name="type"></param> private void SetSignInFlow(FlowLayoutPanel newFlow, long type) { try { List <road_sign> list = CreateGroupPanel(type); ImageWorker IM = new ImageWorker(); foreach (road_sign item in list) { newFlow.Controls.Add(new SignPanel(item, IM.GetImageByRelativePath(item.img), this)); } } catch (Exception ex) { MessageBox.Show(ex.StackTrace); } }
private void AddNewSign() { road_sign newSign = new road_sign(); newSign.name = tbName.Text; newSign.pdd_number = tbNumber.Text; newSign.code_type_sign = PE.type_road_sign.ToArray <type_road_sign>()[cbType.SelectedIndex].code_type_road_sign; newSign.description = tbDescription.Text; ImageWorker IM = new ImageWorker(); IM.CopyImageByName(tbPath.Text, newSign.pdd_number.Replace('.', '_')); newSign.img = newSign.pdd_number.Replace('.', '_') + ".png"; PE.road_sign.Add(newSign); PE.SaveChanges(); foreach (string item in listResolution.Items) { act _act = PE.act.Where(x => x.name == item).First(); item_list_resolution iR = new item_list_resolution(); iR.code_road_sign = newSign.code_road_sign; iR.code_act = _act.code_act; PE.item_list_resolution.Add(iR); PE.SaveChanges(); } foreach (string item in listProhibishin.Items) { act _act = PE.act.Where(x => x.name == item).First(); item_list_prohibition iP = new item_list_prohibition(); iP.code_road_sign = newSign.code_road_sign; iP.code_act = _act.code_act; PE.item_list_prohibition.Add(iP); PE.SaveChanges(); } this.Close(); }
private void btnOpenImage_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.InitialDirectory = Application.StartupPath + @"img\\"; openFileDialog.Filter = "PNG files (*.png)|*.png|JPG files (*.jpg)|*.jpg"; openFileDialog.FilterIndex = 1; openFileDialog.RestoreDirectory = true; if (openFileDialog.ShowDialog() == DialogResult.OK) { string filename = openFileDialog.FileName; if (filename != "") { tbPath.Text = filename; ImageWorker IM = new ImageWorker(); pbImage.BackgroundImage = IM.GetImageByAbsolutePath(filename); } } }