private void button_OK_Click(object sender, EventArgs e) { if(element!=null) { element.name = (textBox_mapName.Text.Trim()); } //图片映射表 element.imgMappingList.removeAll(); for (int i = 0; i < panel_ImgMap.Controls.Count / 3; i++) { ComboBox comboBoxFrom = (ComboBox)panel_ImgMap.Controls[i * 3 + 1]; ComboBox comboBoxTo = (ComboBox)panel_ImgMap.Controls[i * 3 + 2]; ImageMappingElement imgMapElement = new ImageMappingElement(form_Main.mapImagesManager); imgMapElement.ImgFrom = form_Main.mapImagesManager[comboBoxFrom.SelectedIndex]; imgMapElement.ImgTo = form_Main.mapImagesManager[comboBoxTo.SelectedIndex]; element.imgMappingList.addElement(imgMapElement); } this.Close(); }
//获得映射图片 public static MImgElement getMappedImage(ObjectVector imgMappingList, MImgElement imgElementFrom) { if (imgMappingList == null) { return(null); } for (int i = 0; i < imgMappingList.getElementCount(); i++) { Object obj = imgMappingList.getElement(i); if (!(obj is ImageMappingElement)) { return(null); } ImageMappingElement imgMaElement = (ImageMappingElement)obj; if (imgMaElement.ImgFrom.Equals(imgElementFrom)) { return(imgMaElement.ImgTo); } } return(null); }
//向图片映射列表中添加一条数据 private void addImgMapElement(ImageMappingElement imgMapElement) { CheckBox checkBox = new CheckBox(); checkBox.Width = 24; ComboBox boxMapFrom = new ComboBox(); boxMapFrom.Width = (panel_ImgMap.Width - 60) / 2; boxMapFrom.DropDownStyle = ComboBoxStyle.DropDownList; boxMapFrom.MaxDropDownItems = 20; addItemsToComboBox(boxMapFrom); boxMapFrom.SelectedIndexChanged += new EventHandler(ComboBox_SelectIndexChanged); ComboBox boxMapTo = new ComboBox(); boxMapTo.Width = (panel_ImgMap.Width - 60) / 2; boxMapTo.DropDownStyle = ComboBoxStyle.DropDownList; boxMapTo.MaxDropDownItems = 20; addItemsToComboBox(boxMapTo); boxMapTo.SelectedIndexChanged += new EventHandler(ComboBox_SelectIndexChanged); panel_ImgMap.Controls.Add(checkBox); panel_ImgMap.Controls.Add(boxMapFrom); panel_ImgMap.Controls.Add(boxMapTo); if (imgMapElement != null) { noEvent = true; if (imgMapElement.ImgFrom != null) { boxMapFrom.SelectedIndex = imgMapElement.ImgFrom.GetID(); } if (imgMapElement.ImgTo != null) { boxMapTo.SelectedIndex = imgMapElement.ImgTo.GetID(); } if (imgMapElement.ImgFrom.image != null && imgMapElement.ImgTo.image != null && (!imgMapElement.ImgFrom.image.Size.Equals(imgMapElement.ImgTo.image.Size))) { checkBox.Text = "!"; } noEvent = false; } }
private void button_AddMap_Click(object sender, EventArgs e) { if (noEvent || antetype==null) { return; } AntetypesManager antetypesManager = (AntetypesManager)antetype.GetTopParent(); MImgsManager imgsManager = antetypesManager.mapsManager.form_Main.form_MAnimation.form_MImgsList.mImgsManager; if (imgsManager.Count() > 0) { ImageMappingElement element = new ImageMappingElement(imgsManager); element.ImgFrom = imgsManager[0]; element.ImgTo = imgsManager[0]; //添加到数据 antetype.imgMappingList.addElement(element); //添加到UI addImgMapElement(element); //刷新显示 refreshActor(); } }