using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Microsoft.Office.Interop.PowerPoint; using GeneralLib; namespace SunVoteARSPPT { public partial class FrmChartRankSet : Form { public FrmChartRankSet() { InitializeComponent(); } private void btnOK_Click(object sender, EventArgs e) { TagSet tagSet = new TagSet(Globals.SunVoteARSAddIn.PPTEdit.SlideEdit.Tags); string s = ""; foreach (ListViewItem lvItem in lvwSlide.CheckedItems) { if (s.Length > 0) s += ","; s += lvItem.Tag.ToString(); } tagSet.SetValue(TagKey.RankChartSetSlide, s); this.DialogResult = DialogResult.OK; this.Close(); } private void btnCancel_Click(object sender, EventArgs e) { this.Close(); } /// /// 是否正在加载窗体 /// private bool IsLoading = false; private void FrmChartRankSet_Load(object sender, EventArgs e) { IsLoading = true; //this.DialogResult = DialogResult.Cancel; GlobalInfo.SysLanguage.SetLanguage(this.Name, this); ControlOper.SetPosCheckBoxToListViewHead(lvwSlide, chkSelectAllSlide);//杨斌 2012-11-16 lvwSlide.Columns[0].Text = " No"; LoadSlideInfo(); SetOKEnable(); IsLoading = false; } /// /// 加载授权信息 /// 修改:杨斌 2012-03-23 /// private void LoadSlideInfo() { try { Slide sld = null; TagSet tagSet = null; int curSlideIndex = Globals.SunVoteARSAddIn.PPTEdit.SlideEdit.SlideIndex; int SlideCount = Globals.SunVoteARSAddIn.PPTEdit.PPT.ActivePresentation.Slides.Count; int slideIndex = 0; lvwSlide.Items.Clear(); for (int i = 1; i <= SlideCount; i++) { sld = Globals.SunVoteARSAddIn.PPTEdit.PPT.ActivePresentation.Slides[i]; tagSet = new TagSet(sld.Tags); slideIndex = sld.SlideIndex; ResponseType responseType = EnumName.GetEnum(tagSet.GetValue(TagKey.ResponseType).Value); //当前幻灯片之外的,且在当前幻灯片之前的 if (slideIndex != curSlideIndex) { switch (responseType) { case ResponseType.Choice: case ResponseType.Order: case ResponseType.Judge: case ResponseType.Number: ListViewItem lvItem = lvwSlide.Items.Add(slideIndex.ToString()); lvItem.SubItems.Add(PPTOper.GetSlideTitle(sld).ToString()); lvItem.Tag = sld.SlideID.ToString(); break; default: break; } } } // slideIndex=tagSet.LoadValue(TagKey.ResponsePara_CanVoteSlideIndex,0).ToInt; //当前幻灯片 tagSet = new TagSet(Globals.SunVoteARSAddIn.PPTEdit.SlideEdit.Tags); string s = tagSet.LoadValue(TagKey.RankChartSetSlide, "").Value; if (s.Length > 0) { string[] ary = s.Split(new char[] { ',' }); foreach (ListViewItem lvItem in lvwSlide.Items) { lvItem.Checked = (ary.Contains((lvItem.Tag.ToString()))); } } //当前幻灯片ID //int SlideID = tagSet.GetValue(TagKey.ResponsePara_CanVoteSlideID).ToInt; //slideIndex = 0; //if (SlideID != 0) //{ // try//杨斌 2012-06-29 FindBySlideID可能会报异常 // { // slideIndex = Globals.SunVoteARSAddIn.PPTEdit.PPT.ActivePresentation.Slides.FindBySlideID(SlideID).SlideIndex; // } // catch { } //} } catch (Exception ex) { SystemLog.WriterLog(ex); } } private void SetOKEnable() { btnOK.Enabled = (lvwSlide.CheckedItems.Count > 0); } private void chkSelectAllSlide_Click(object sender, EventArgs e) { if (IsLoading) return; IsLoading = true; ControlOper.SelectAllListViewItem(lvwSlide, chkSelectAllSlide.Checked); IsLoading = false; } private void lvwSlide_ItemChecked(object sender, ItemCheckedEventArgs e) { SetOKEnable(); if (IsLoading) return; IsLoading = true; chkSelectAllSlide.Checked = ((lvwSlide.CheckedItems.Count > 0) && (lvwSlide.CheckedItems.Count == lvwSlide.Items.Count)); IsLoading = false; } } }