Glossary Item Box
This walkthrough is split up into the following activities:
To write the code in Visual Basic
To write the code in C#
The following example shows what the code for the method looks like.
'Visual Basic Private Sub selChangeReportToolbar() Dim m_arrayFont As New ArrayList() Dim m_arrayFontSize As New ArrayList() Dim m_arrayClassName As New ArrayList() Dim sFont As String Dim sFontSize As String Dim sClassName As String sFont = "" sFontSize = "" sClassName = "" Dim ctl As String cnt = Designer1.Selection.Count If cnt = 0 Then Exit Sub End If For i = 0 To cnt - 1 ctl = Designer1.Selection(i).GetType().ToString If ((ctl.IndexOf("TextBox") > 0) Or (ctl.IndexOf("CheckBox") > 0) Or _ (ctl.IndexOf("Label") > 0)) Then Select Case ctl Case "DataDynamics.ActiveReports.TextBox" sFont = CType(Designer1.Selection(i), _ DataDynamics.ActiveReports.TextBox).Font.Name.ToString() sFontSize = CType(Designer1.Selection(i), _ DataDynamics.ActiveReports.TextBox).Font.Size.ToString() sClassName = CType(Designer1.Selection(i), _ DataDynamics.ActiveReports.TextBox).ClassName.ToString() If m_arrayFont.Contains(sFont) = False Then m_arrayFont.Add(sFont) If m_arrayFontSize.Contains(sFontSize) = False Then m_arrayFontSize.Add(sFontSize) If m_arrayClassName.Contains(sClassName) = False Then m_arrayClassName.Add(sClassName) End If End If End If Case "DataDynamics.ActiveReports.Label" sFont = CType(Designer1.Selection(i), _ DataDynamics.ActiveReports.Label).Font.Name.ToString() sFontSize = CType(Designer1.Selection(i), _ DataDynamics.ActiveReports.Label).Font.Size.ToString() sClassName = CType(Designer1.Selection(i), _ DataDynamics.ActiveReports.Label).ClassName.ToString() If m_arrayFont.Contains(sFont) = False Then m_arrayFont.Add(sFont) If m_arrayFontSize.Contains(sFontSize) = False Then m_arrayFontSize.Add(sFontSize) If m_arrayClassName.Contains(sClassName) = False Then m_arrayClassName.Add(sClassName) End If End If End If Case "DataDynamics.ActiveReports.CheckBox" sFont = CType(Designer1.Selection(i), _ DataDynamics.ActiveReports.CheckBox).Font.Name sFontSize = CType(Designer1.Selection(i), _ DataDynamics.ActiveReports.CheckBox).Font.Size sClassName = CType(Designer1.Selection(i), _ DataDynamics.ActiveReports.CheckBox).ClassName If m_arrayFont.Contains(sFont) = False Then m_arrayFont.Add(sFont) If m_arrayFontSize.Contains(sFontSize) = False Then m_arrayFontSize.Add(sFontSize) If m_arrayClassName.Contains(sClassName) = False Then m_arrayClassName.Add(sClassName) End If End If End If End Select End If Next If ((m_arrayFont.Count >= 1) AndAlso (cnt > 1)) Then cmbFonts.Text = "" cmbFonts.Enabled = True ElseIf (m_arrayFont.Count = 0) Then cmbFonts.Text = "" cmbFonts.Enabled = False ElseIf (m_arrayFont.Count = 1) Then cmbFonts.Text = m_arrayFont(0).ToString() cmbFonts.Enabled = True End If If ((m_arrayFont.Count >= 1) AndAlso (cnt > 1)) Then cmbFontSize.Text = "" cmbFontSize.Enabled = True ElseIf (m_arrayFontSize.Count = 0) Then cmbFontSize.Text = "" cmbFontSize.Enabled = False ElseIf (m_arrayFontSize.Count = 1) Then cmbFontSize.Text = m_arrayFontSize(0).ToString() cmbFontSize.Enabled = True End If If ((m_arrayFont.Count >= 1) AndAlso (cnt > 1)) Then cmbClassName.Text = "" cmbClassName.Enabled = True ElseIf (m_arrayClassName.Count = 0) Then cmbClassName.Text = "" cmbClassName.Enabled = False ElseIf (m_arrayClassName.Count = 1) Then cmbClassName.Text = m_arrayClassName(0).ToString() cmbClassName.Enabled = True End If End Sub
//C# private void selChangeReportToolbar() { ArrayList m_arrayFont=new ArrayList(); ArrayList m_arrayFontSize = new ArrayList(); ArrayList m_arrayClassName = new ArrayList(); string sFont=null; string sFontSize=null; string sClassName=null; int cnt = this.designer1.Selection.Count; for(int i=0;i<cnt;i++) { string ctl = designer1.Selection[i]. GetType().ToString(); if((ctl.IndexOf("TextBox") >0)|| (ctl.IndexOf("CheckBox") >0)||(ctl. IndexOf("Label") >0)) { switch(ctl) { case "DataDynamics.ActiveReports.TextBox": sFont =((DataDynamics.ActiveReports. TextBox)designer1.Selection[i]). Font.Name.ToString(); sFontSize =((DataDynamics. ActiveReports.TextBox)designer1. Selection[i]).Font.Size.ToString(); sClassName =((DataDynamics. ActiveReports.TextBox)designer1. Selection[i]).ClassName.ToString(); if(m_arrayFont.Contains(sFont)==false) m_arrayFont.Add(sFont); if(m_arrayFontSize.Contains (sFontSize)==false) m_arrayFontSize.Add(sFontSize); if(m_arrayClassName.Contains (sClassName)==false) m_arrayClassName.Add(sClassName); break; case "DataDynamics.ActiveReports.Label": sFont =((DataDynamics.ActiveReports. Label)designer1.Selection[i]). Font.Name.ToString(); sFontSize =((DataDynamics. ActiveReports.Label)designer1. Selection[i]).Font.Size.ToString(); sClassName =((DataDynamics. ActiveReports.Label)designer1. Selection[i]).ClassName.ToString(); if(m_arrayFont.Contains(sFont)==false) m_arrayFont.Add(sFont); if(m_arrayFontSize.Contains (sFontSize)==false) m_arrayFontSize.Add(sFontSize); if(m_arrayClassName.Contains (sClassName)==false) m_arrayClassName.Add(sClassName); break; case "DataDynamics.ActiveReports.CheckBox": sFont =((DataDynamics.ActiveReports. CheckBox)designer1.Selection[i]). Font.Name.ToString(); sFontSize =((DataDynamics.ActiveReports. CheckBox)designer1.Selection[i]). Font.Size.ToString(); sClassName =((DataDynamics.ActiveReports. CheckBox)designer1.Selection[i]). ClassName.ToString(); if(m_arrayFont.Contains(sFont)==false) m_arrayFont.Add(sFont); if(m_arrayFontSize.Contains (sFontSize)==false) m_arrayFontSize.Add(sFontSize); if(m_arrayClassName.Contains (sClassName)==false) m_arrayClassName.Add(sClassName); break; } } if((m_arrayFont.Count>=1) && (cnt>1)) { cmbFonts.Text = ""; cmbFonts.Enabled =true; } else if(m_arrayFont.Count==0) { cmbFonts.Text = ""; cmbFonts.Enabled = false; } else if(m_arrayFont.Count ==1) { cmbFonts.Text = m_arrayFont[0].ToString(); cmbFonts.Enabled =true; } if((m_arrayFont.Count>=1) && (cnt>1)) { cmbFontSize.Text = ""; cmbFontSize.Enabled = true; } else if(m_arrayFontSize.Count ==0) { cmbFontSize.Text = ""; cmbFontSize.Enabled = false; } else if(m_arrayFontSize.Count==1) { cmbFontSize.Text = m_arrayFontSize[0].ToString(); cmbFontSize.Enabled = true; } if((m_arrayFont.Count>=1) && (cnt>1)) { cmbClassName.Text = ""; cmbClassName.Enabled = true; } else if(m_arrayClassName.Count==0) { cmbClassName.Text = ""; cmbClassName.Enabled = false; } else if(m_arrayClassName.Count ==1) { cmbClassName.Text = m_arrayClassName[0].ToString(); cmbClassName.Enabled = true; } } }
To write the code in Visual Basic
To write the code in C#
The following example shows what the code for the method looks like.
'Visual Basic Private Function getActionFromString(ByVal action As String) As _ DataDynamics.ActiveReports.Design.DesignerAction Dim m_action As New DataDynamics.ActiveReports.Design.DesignerAction() Select Case (action) Case "Bold" m_action = DesignerAction.FormatFontBold Case "Italic" m_action = DesignerAction.FormatFontItalic Case "Underline" m_action = DesignerAction.FormatFontUnderline Case "Bullets" m_action = DesignerAction.FormatRTFBullets Case "IncreaseIndent" m_action = DesignerAction.FormatRTFIndent Case "DecreaseIndent" m_action = DesignerAction.FormatRTFOutdent Case "EditScript" m_action = DesignerAction.EditScript Case "ReorderGroups" m_action = DesignerAction.ReorderGroups Case "ViewGrid" m_action = DesignerAction.ViewGrid Case "AlignLeft" m_action = DesignerAction.FormatTextAlignLeft Case "Center" m_action = DesignerAction.FormatTextAlignCenter Case "AlignRight" m_action = DesignerAction.FormatTextAlignRight Case "Justify" m_action = DesignerAction.FormatTextAlignJustify End Select Return m_action End Function
//C# private DataDynamics.ActiveReports.Design.DesignerAction getActionFromString(string action) { switch(action) { case "Bold": result =DataDynamics.ActiveReports.Design.DesignerAction.FormatFontBold; break; case "Italic": result = DataDynamics.ActiveReports.Design.DesignerAction.FormatFontItalic; break; case "Underline": result = DataDynamics.ActiveReports.Design.DesignerAction.FormatFontUnderline; break; case "Bullets": result = DataDynamics.ActiveReports.Design.DesignerAction.FormatRTFBullets; break; case "IncreaseIndent": result = DataDynamics.ActiveReports.Design.DesignerAction.FormatRTFIndent; break; case "DecreaseIndent": result = DataDynamics.ActiveReports.Design.DesignerAction.FormatRTFOutdent; break; case "EditScript": result =DataDynamics.ActiveReports.Design.DesignerAction.EditScript; break; case "ReorderGroups": result = DataDynamics.ActiveReports.Design.DesignerAction.ReorderGroups; break; case "ViewGrid": result=DataDynamics.ActiveReports.Design.DesignerAction.ViewGrid; break; case "AlignLeft": result = DataDynamics.ActiveReports.Design.DesignerAction.FormatTextAlignLeft; break; case "Center": result = DataDynamics.ActiveReports.Design.DesignerAction .FormatTextAlignCenter; break; case "AlignRight": result = DataDynamics.ActiveReports.Design.DesignerAction .FormatTextAlignRight; break; case "Justify": result = DataDynamics.ActiveReports.Design.DesignerAction .FormatTextAlignJustify; break; } return result; }
To write the code in Visual Basic
To write the code in C#
The following example shows what the code for the method looks like.
'Visual Basic Private Sub setStatus(ByVal action As String, ByVal toolbutton As _ System.Windows.Forms.ToolBarButton) Dim m_action As New DataDynamics.ActiveReports.Design.DesignerAction() m_action = getActionFromString(action) toolbutton.Enabled = Designer1.QueryActionEnabled(m_action) toolbutton.Pushed = Designer1.QueryActionChecked(m_action) End Sub
//C# private void setStatus(string action,System.Windows.Forms.ToolBarButton toolButton) { DataDynamics.ActiveReports.Design.DesignerAction m_action = getActionFromString(action); toolButton.Enabled = designer1.QueryActionEnabled(m_action); toolButton.Pushed = designer1.QueryActionChecked(m_action); }
To write the code in Visual Basic
To write the code in C#
The following example shows what the code for the method looks like.
'Visual Basic Private Sub Idle(ByVal sender As Object, ByVal e As System.EventArgs) If doStatusChange = True Then Me.RunStatusChangeCode() doStatusChange = False End If End Sub Private Sub RunStatusChangeCode() For i = 0 To Me.tlbReport.Buttons.Count - 1 Dim tb As New System.Windows.Forms.ToolBarButton() tb = Me.tlbReport.Buttons(i) If tb.Tag Is Nothing = False Then setStatus(tb.Tag, tb) End If Next End Sub Private Sub Designer1_StatusChanged(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles Designer1.StatusChanged doStatusChange = True End Sub
//C# private void Idle(object sender, System.EventArgs e) { if(doStatusChange) { this.RunStatusChangeCode(); doStatusChange = false; } } private void RunStatusChangeCode() { for(int i=0;i<this.tlbReport.Buttons.Count;i++) { System.Windows.Forms.ToolBarButton tb = this.tlbReport.Buttons[i]; if(tb.Tag != null) { setStatus (tb.Tag.ToString(),tb); } } } private void designer1_StatusChanged(object sender, System.EventArgs e) { doStatusChange = true; }
To write the code in Visual Basic
To write the code in C#
The following example shows what the code for the method looks like.
'Visual Basic Private Sub executeReportAction(ByVal action As String, ByVal e As System.Windows.Forms._ ToolBarButtonClickEventArgs) Try Select Case action Case "Bold" Designer1.ExecuteAction(DesignerAction.FormatFontBold) Case "Italic" Designer1.ExecuteAction(DesignerAction.FormatFontItalic) Case "Underline" Designer1.ExecuteAction(DesignerAction.FormatFontUnderline) Case "AlignRight" Designer1.ExecuteAction(DesignerAction.FormatTextAlignRight) Case "Center" Designer1.ExecuteAction(DesignerAction.FormatTextAlignCenter) Case "AlignLeft" Designer1.ExecuteAction(DesignerAction.FormatTextAlignLeft) Case "Justify" Designer1.ExecuteAction(DesignerAction.FormatTextAlignJustify) Case "Bullets" Designer1.ExecuteAction(DesignerAction.FormatRTFBullets) Case "DecreaseIndent" Designer1.ExecuteAction(DesignerAction.FormatRTFOutdent) Case "IncreaseIndent" Designer1.ExecuteAction(DesignerAction.FormatRTFIndent) End Select Catch ex As Exception MessageBox.Show(Me, ex.Message, "Action Failed", MessageBoxButtons.OK, _ MessageBoxIcon.Error) End Try End Sub
//C# private void executeReportAction(string action) { switch(action) { case "Bold": designer1.ExecuteAction(DataDynamics.ActiveReports.Design. DesignerAction.FormatFontBold); break; case "Italic": designer1.ExecuteAction(DataDynamics.ActiveReports.Design. DesignerAction.FormatFontItalic); break; case "Underline": designer1.ExecuteAction(DataDynamics.ActiveReports.Design. DesignerAction.FormatFontUnderline); break; case "Bullets": designer1.ExecuteAction(DataDynamics.ActiveReports.Design. DesignerAction.FormatRTFBullets); break; case "IncreaseIndent": designer1.ExecuteAction(DataDynamics.ActiveReports.Design. DesignerAction.FormatRTFIndent); break; case "DecreaseIndent": designer1.ExecuteAction(DataDynamics.ActiveReports.Design. DesignerAction.FormatRTFOutdent); break; case "EditScript": designer1.ExecuteAction(DataDynamics.ActiveReports.Design. DesignerAction.EditScript); break; case "ReorderGroups": designer1.ExecuteAction(DataDynamics.ActiveReports.Design. DesignerAction.ReorderGroups); break; case "ViewGrid": designer1.ExecuteAction(DataDynamics.ActiveReports.Design. DesignerAction.ViewGrid); break; case "AlignLeft": designer1.ExecuteAction(DataDynamics.ActiveReports.Design. DesignerAction.FormatTextAlignLeft); break; case "Center": designer1.ExecuteAction(DataDynamics.ActiveReports.Design. DesignerAction.FormatTextAlignCenter); break; case "AlignRight": designer1.ExecuteAction(DataDynamics.ActiveReports.Design. DesignerAction.FormatTextAlignRight); break; case "Justify": designer1.ExecuteAction(DataDynamics.ActiveReports.Design. DesignerAction.FormatTextAlignJustify); break; } }
To write the code in Visual Basic
To write the code in C#
The following example shows what the code for the method looks like.
'Visual Basic Private Sub tlbReport_ButtonClick(ByVal sender As Object, ByVal e As _ System.Windows.Forms.ToolBarButtonClickEventArgs) Handles tlbReport.ButtonClick executeReportAction(e.Button.Tag.ToString(), e) End Sub
//C# private void tlbReport_ButtonClick(object sender, System.Windows. Forms.ToolBarButtonClickEventArgs e) { executeReportAction(e.Button.Tag.ToString()); }
See Also |
Copyright © 2004-2005 Data Dynamics, Ltd. All rights reserved.