private void ShowTmpQ() { SolidColorBrush evenbg = Theme.s._[(int)BrushId.BG]; SolidColorBrush oddbg = Theme.s._[(int)BrushId.Q_BG]; SolidColorBrush difbg = Theme.s._[(int)BrushId.Ans_TopLine]; SolidColorBrush bg; bool even = false; int x = -1; double w = svwrTmpQ.Width; svwrTmpQ.Content = null; StackPanel sp = new StackPanel(); foreach (Question q in mTmpQS.ShallowCopy()) { TextBlock i = new TextBlock(); i.Text = (++x + 1) + ". " + q.Stmt; i.Width = w; i.TextWrapping = TextWrapping.Wrap; /*if (q.bDiff) * bg = difbg; * else*/if (even) { bg = evenbg; } else { bg = oddbg; } even = !even; i.Background = bg; sp.Children.Add(i); for (int idx = 0; idx < Question.N_ANS; ++idx) { TextBlock j = new TextBlock(); j.Text = ((char)('A' + idx)).ToString() + ") " + q.vAns[idx]; j.Width = w; j.TextWrapping = TextWrapping.Wrap; if (q.vKeys[idx]) { j.FontWeight = FontWeights.Bold; } j.Background = bg; sp.Children.Add(j); } } svwrTmpQ.Content = sp; StringBuilder sb = new StringBuilder(); sb.AppendFormat(Txt.s._[(int)TxI.Q_TMP], mTmpQS.Count, mTmpQS.CountD); tbiTmpQ.Header = sb.ToString(); }
private void lbxNee_Selected(object sender, RoutedEventArgs e) { ListBoxItem i = sender as ListBoxItem; if (i == null) { return; } ExamineeS0 nee = new ExamineeS0(); List <TabItem> l = new List <TabItem>(); foreach (TabItem ti in tbcSl.Items) { if (!nee.ParseLvId(ti.Header as string)) { l.Add(ti); } } foreach (TabItem ti in l) { tbcSl.Items.Remove(ti); } if (nee.ParseLvId(i.Content as string)) { return; } TabItem tbi = new TabItem(); tbi.Header = i.Content; // nee.mDt = mBrd.mDt; int qsid = nee.DBGetQSId(); if (qsid < 0) { return; } QuestSheet qs = null; foreach (ExamSlot sl in mBrd.vSl.Values) { if (sl.vQPack[nee.eLv].vSheet.ContainsKey(qsid)) { qs = sl.vQPack[nee.eLv].vSheet[qsid]; break; } else if (sl.vQPackAlt[nee.eLv].vSheet.ContainsKey(qsid)) { qs = sl.vQPackAlt[nee.eLv].vSheet[qsid]; break; } } if (qs == null) { string t = nee.DBGetT(); if (!mBrd.vSl.ContainsKey(t)) { ExamSlot sl = new ExamSlot(); DateTime dati; DT.To_(mBrd.mDt.ToString(DT._) + ' ' + t, DT.HS, out dati); sl.Dt = dati; string emsg; if ((emsg = sl.DBSelRoomId()) != null) { WPopup.s.ShowDialog(emsg); return; } sl.DBSelStt(); sl.DBSelQPkR(); sl.DBSelNee(); if (sl.DBSelArchieve(out emsg)) { WPopup.s.ShowDialog(emsg); return; } mBrd.vSl.Add(t.Substring(0, 5), sl); // if (sl.vQPack[nee.eLv].vSheet.ContainsKey(qsid)) { qs = sl.vQPack[nee.eLv].vSheet[qsid]; } else if (sl.vQPackAlt[nee.eLv].vSheet.ContainsKey(qsid)) { qs = sl.vQPackAlt[nee.eLv].vSheet[qsid]; } } } if (qs == null) { return; } nee.DBSelGrade(); StackPanel spl = new StackPanel(); TextBlock tx = new TextBlock(); tx.Text = Txt.s._[(int)TxI.QS_ID] + ' ' + qs.tId + ", "; spl.Children.Add(tx); tx = new TextBlock(); tx.Text = Txt.s._[(int)TxI.MARK] + ' ' + nee.Grade; spl.Children.Add(tx); ScrollViewer svwr = new ScrollViewer(); svwr.VerticalScrollBarVisibility = ScrollBarVisibility.Auto; StackPanel sp = new StackPanel(); int x = 0; SolidColorBrush evenbg = Theme.s._[(int)BrushId.BG]; SolidColorBrush oddbg = Theme.s._[(int)BrushId.Q_BG]; SolidColorBrush difbg = Theme.s._[(int)BrushId.Ans_TopLine]; SolidColorBrush bg; bool even = false; char[] ans = nee.DBGetAns(); int k = -1; foreach (Question q in qs.ShallowCopy()) { /*if (q.bDiff) * bg = difbg; * else*/if (even) { bg = evenbg; } else { bg = oddbg; } even = !even; TextBlock j = new TextBlock(); j.Width = tbcSl.Width - SystemParameters.ScrollWidth; j.TextWrapping = TextWrapping.Wrap; j.Text = ++x + ". " + q.Stmt; j.Background = bg; sp.Children.Add(j); for (int idx = 0; idx < Question.N_ANS; ++idx) { j = new TextBlock(); j.Width = tbcSl.Width - SystemParameters.ScrollWidth; j.TextWrapping = TextWrapping.Wrap; j.Text = ((char)('A' + idx)).ToString() + ") " + q.vAns[idx]; j.Background = bg; if (q.vKeys[idx]) { j.FontWeight = FontWeights.Bold; } if (ans[++k] == Question.C1) { j.Background = Theme.s._[(int)BrushId.Ans_Highlight]; } sp.Children.Add(j); } } svwr.Content = sp; svwr.Height = 560; spl.Children.Add(svwr); tbi.Content = spl; // tbcSl.Items.Add(tbi); }
private void tbiQ_GotFocus(object sender, RoutedEventArgs e) { TabItem tbi = sender as TabItem; if (tbi == null || tbi.Content != null) { return; } TabControl tbc = tbi.Parent as TabControl; if (tbc == null) { return; } ExamLv lv; int id; if (QuestSheet.ParseLvId((tbi.Header as TextBlock).Text, out lv, out id)) { return; } QuestSheet qs = null; if (mSl.vQPack[lv].vSheet.ContainsKey(id)) { qs = mSl.vQPack[lv].vSheet[id]; } else if (mSl.vQPackAlt[lv].vSheet.ContainsKey(id)) { qs = mSl.vQPackAlt[lv].vSheet[id]; } if (qs == null) { return; } ScrollViewer svwr = new ScrollViewer(); svwr.VerticalScrollBarVisibility = ScrollBarVisibility.Auto; StackPanel sp = new StackPanel(); int x = 0; SolidColorBrush evenbg = Theme.s._[(int)BrushId.BG]; SolidColorBrush oddbg = Theme.s._[(int)BrushId.Q_BG]; SolidColorBrush difbg = Theme.s._[(int)BrushId.Ans_TopLine]; SolidColorBrush bg; bool even = false; foreach (Question q in qs.ShallowCopy()) { /*if (q.bDiff) * bg = difbg; * else*/if (even) { bg = evenbg; } else { bg = oddbg; } even = !even; TextBlock i = new TextBlock(); i.Width = tbc.Width - SystemParameters.ScrollWidth; i.TextWrapping = TextWrapping.Wrap; i.Text = ++x + ". " + q.Stmt; i.Background = bg; sp.Children.Add(i); for (int idx = 0; idx < Question.N_ANS; ++idx) { TextBlock j = new TextBlock(); j.Width = tbc.Width - SystemParameters.ScrollWidth; j.TextWrapping = TextWrapping.Wrap; j.Text = ((char)('A' + idx)).ToString() + ") " + q.vAns[idx]; j.Background = bg; if (q.vKeys[idx]) { j.FontWeight = FontWeights.Bold; } sp.Children.Add(j); } } svwr.Content = sp; svwr.Height = 560; tbi.Content = svwr; }
private void ShowDBQ() { SolidColorBrush evenbg = Theme.s._[(int)BrushId.BG]; SolidColorBrush oddbg = Theme.s._[(int)BrushId.Q_BG]; SolidColorBrush difbg = Theme.s._[(int)BrushId.Ans_TopLine]; SolidColorBrush bg; bool even = false; int x = -1; gDBQuest.Children.Clear(); gDBQuest.RowDefinitions.Clear(); vChk.Clear(); double w = gDBQuest.ColumnDefinitions.First().Width.Value; foreach (Question q in mDBQS.ShallowCopy()) { TextBlock i = new TextBlock(); i.Text = (++x + 1) + ". " + q.Stmt; i.Width = w; i.TextWrapping = TextWrapping.Wrap; StackPanel sp = new StackPanel(); sp.Children.Add(i); for (int idx = 0; idx < Question.N_ANS; ++idx) { TextBlock j = new TextBlock(); j.Text = ((char)('A' + idx)).ToString() + ") " + q.vAns[idx]; j.Width = w; j.TextWrapping = TextWrapping.Wrap; if (q.vKeys[idx]) { j.FontWeight = FontWeights.Bold; } sp.Children.Add(j); } /*if (q.bDiff) * bg = difbg; * else*/if (even) { bg = evenbg; } else { bg = oddbg; } even = !even; sp.Background = bg; RowDefinition rd = new RowDefinition(); gDBQuest.RowDefinitions.Add(rd); Grid.SetRow(sp, x); gDBQuest.Children.Add(sp); CheckBox chk = new CheckBox(); chk.Name = "c" + q.uId; chk.VerticalAlignment = VerticalAlignment.Center; Grid.SetColumn(chk, 1); Grid.SetRow(chk, x); gDBQuest.Children.Add(chk); vChk.Add(chk); } StringBuilder sb = new StringBuilder(); sb.AppendFormat(Txt.s._[(int)TxI.Q_DB], mDBQS.Count, QuestSheet.DBGetND(mSelQCat)); tbiDBQ.Header = sb.ToString(); }