Gaurav Taneja

Great dreams... never even get out of the box. It takes an uncommon amount of guts to put your dreams on the line, to hold them up and say, "How good or how bad am I?" That's where courage comes in.

  Home  |   Contact  |   Syndication    |   Login
  90 Posts | 0 Stories | 78 Comments | 7 Trackbacks

News




Google RankGoogle PR™ - Post your Page Rank with MyGooglePageRank.com



The content on this site represents my own personal opinions and thoughts at the time of posting, and does not reflect those of my employer's in any way.

Disclaimer:- All postings in this blog is provided "AS IS" with no warranties, and confers no rights.

Archives

Post Categories

Image Galleries

Atlas

Error

OutLook

SharePointService

Usefull Site Links

Wednesday, December 10, 2008 #

To change the color of Tab control
 
Add this event handler
 
  1. DrawMode property to OwnerDrawFixed.
  2. Override the DrawItem event handler definition.
 
tabControl2.DrawItem += new DrawItemEventHandler(OnDrawItem);
 
 
step 2
 
 
 
 
 
 
private void OnDrawItem(object sender, DrawItemEventArgs e)
        {
           
            TabPage CurrentTab = tabControl2.TabPages[e.Index];
            Rectangle ItemRect = tabControl2.GetTabRect(e.Index);
            SolidBrush FillBrush = new SolidBrush(Color.Red);
            SolidBrush TextBrush = new SolidBrush(Color.White);
            StringFormat sf = new StringFormat();
            sf.Alignment = StringAlignment.Center;
            sf.LineAlignment = StringAlignment.Center;
 
            //If we are currently painting the Selected TabItem we'll
            //change the brush colors and inflate the rectangle.
            if (System.Convert.ToBoolean(e.State & DrawItemState.Selected))
            {
                FillBrush.Color = Color.PaleTurquoise;
                TextBrush.Color = Color.Red;
                ItemRect.Inflate(2, 2);
            }
 
            //Set up rotation for left and right aligned tabs
            if (tabControl2.Alignment == TabAlignment.Left || tabControl2.Alignment == TabAlignment.Right)
            {
                float RotateAngle = 90;
                if (tabControl2.Alignment == TabAlignment.Left)
                    RotateAngle = 270;
                PointF cp = new PointF(ItemRect.Left + (ItemRect.Width / 2), ItemRect.Top + (ItemRect.Height / 2));
                e.Graphics.TranslateTransform(cp.X, cp.Y);
                e.Graphics.RotateTransform(RotateAngle);
                ItemRect = new Rectangle(-(ItemRect.Height / 2), -(ItemRect.Width / 2), ItemRect.Height, ItemRect.Width);
            }
 
            //Next we'll paint the TabItem with our Fill Brush
            e.Graphics.FillRectangle(FillBrush, ItemRect);
 
            //Now draw the text.
            e.Graphics.DrawString(CurrentTab.Text, e.Font, TextBrush, (RectangleF)ItemRect, sf);
 
            //Reset any Graphics rotation
            e.Graphics.ResetTransform();
 
            //Finally, we should Dispose of our brushes.
            FillBrush.Dispose();
            TextBrush.Dispose();
        }
 
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

CREATING DLL DYNAMICALLY

you need to complie this code

Public Function CreateResourceAssembly() As Boolean
        Dim currentpageHashVal As Hashtable = New Hashtable()
        Dim intArrIndx As Integer
        Dim strTextVal As String
        Dim blnIsSuccess As Boolean
        Dim strAsmFileName As String = FetchTest.resources.dll
        Dim strPathAssmbly As String = strAppPath + FetchTest.resources.dll"
 
        Dim appdomain As AppDomain = Thread.GetDomain()
        Dim asmName As New AssemblyName()
        Dim strVersion As String = Nothing
        Dim strKey As String = Nothing
        Dim hashResPage As Hashtable = New Hashtable()
        Dim ItemEnumeratorPage As System.Collections.IDictionaryEnumerator
        Dim blnIdExist As Boolean = False
 
        asmName.Name = Wpms.resources.dl
 
        Dim resourceName As String = Wpms.resources"
        asmName.CodeBase = strPath
        Dim strDate As String
        strDate = Date.Now.ToString("dd/MM/yyyy").Replace("/", "")
        intBuild = CType(strDate, Integer)
        intRev = intRev + 1
        strVersion = "1.0.0" & "." & CType(intRev, String)
        asmName.Version = New Version(1, 0, 0, intRev)
        asmName.CultureInfo = New CultureInfo(strLang)
 
        Dim asmBuilder As AssemblyBuilder = appdomain.DefineDynamicAssembly(asmName, AssemblyBuilderAccess.RunAndSave, strPath)
        Dim modulebuilder As ModuleBuilder = asmBuilder.DefineDynamicModule(strAsmFileName, strAsmFileName)
        Dim resWriter As System.Resources.IResourceWriter
        Dim blnGenEngRes As Boolean = True
        resWriter = modulebuilder.DefineResource(resourceName, "MyDescription", ResourceAttributes.Public)
 
‘ writing in resource file below is a n example ….
   Dim ItemEnumerator As System.Collections.IDictionaryEnumerator
ItemEnumerator = resHastable.GetEnumerator()
   Do While ItemEnumerator.MoveNext
                    resWriter.AddResource(CType(ItemEnumerator.Key, String), CType(ItemEnumerator.Value, String))
                Loop
 
                asmBuilder.Save(strAsmFileName) ‘ SAVING ASSEMBLY
Return blnIsSuccess
 
End Function
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

                   
Reading a dll into bytes
Dim strPathAssmbly As String ="c:\abc.dll"
Dim btByte() As Byte = File.ReadAllBytes(strPathAssmbly)
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Diplaying the controls
 
Public Sub DisplayControlName(ByVal oControl As Control, ByVal strPageName As String)
 
        Dim txtBox As TextBox
        Dim ddlLst As DropDownList
        Dim rdBtn As RadioButton
        Dim rdBtnLst As RadioButtonList
        Dim chkBx As CheckBoxList
        Dim chkBx1 As CheckBox
        Dim lblVal As System.Web.UI.WebControls.Label
        Dim htmTbl As System.Web.UI.HtmlControls.HtmlTable
        Dim btnVal As System.Web.UI.WebControls.Button
 
 
        ' Checks for all the WebBased Control in the web page
 
                Select Case oControl.GetType.ToString
 
 
 
                    'Case "System.Web.UI.WebControls.TextBox" ' for textbox control
                    '    txtBox = oControl.FindControl(oControl.ID)
                    '    If Not txtBox.ID Is Nothing Then
                    '        If Not txtBox.Text.ToString() Is Nothing Then
                    '            If txtBox.Text.Length > 0 Then
                    '                ArrayLst.Add(New String() {strPageName & "_" & txtBox.ID & "_" & "TextBox" & "_" & "N/A", txtBox.Text.ToString()})
                    '            End If
                    '        End If
                    '    End If
 
                    Case  MultiLang_DropDownListControl ' for Dropdownlist control
                        ddlLst = oControl.FindControl(oControl.ID)
                        If Not ddlLst Is Nothing Then
 
                        End If
 
                    Case  MultiLang_RadioButtonControl ' for radio button control
                        rdBtn = oControl.FindControl(oControl.ID)
                        If Not rdBtn Is Nothing Then
                            ArrayLst.Add(New String() {strPageName & "_" & rdBtn.ID & "_" MultiLang_RadioButton & "_" & MultiLang_NA, rdBtn.Text.ToString()})
                        End If
                    Case  MultiLang_RadioButtonListControl ' for radio button control
                        rdBtnLst = oControl.FindControl(oControl.ID)
                        If Not rdBtnLst Is Nothing Then
                            Dim MyItem As ListItem
                            For Each MyItem In rdBtnLst.Items
                                ArrayLst.Add(New String() {strPageName & "_" & rdBtnLst.ID & "_" &  MultiLang_RadioButtonList & "_" & MyItem.Value & "_" &  MultiLang_NA, MyItem.Text.ToString()})
                            Next
                        End If
                    Case  MultiLang_CheckBoxListControl
                        chkBx = oControl.FindControl(oControl.ID)
                        If Not chkBx Is Nothing Then
                            Dim MyItem As ListItem
                            For Each MyItem In chkBx.Items
                                ArrayLst.Add(New String() {strPageName & "_" & chkBx.ID & "_" &  MultiLang_CheckBoxList & "_" & MyItem.Value & "_" &  MultiLang_NA, MyItem.Text.ToString()})
                            Next
                        End If
                    Case  MultiLang_CheckBoxControl ' for checkbox control
                        Try
                            'Dim strVal As Object
                            If Not TypeOf oControl.NamingContainer Is CheckBoxList Then
                                chkBx1 = oControl.FindControl(oControl.ID)
                                If Not chkBx1 Is Nothing Then
                                    If Not chkBx1.Text.Equals("") Then
                                        ArrayLst.Add(New String() {strPageName & "_" & chkBx1.ID & "_" &  MultiLang_CheckBox & "_" &  MultiLang_NA, chkBx1.Text.ToString()})
                                    End If
                                End If
                            End If
                        Catch ex As Exception
 
                        End Try
 
                    Case  MultiLang_LabelControl ' for label control
                        Try
                            lblVal = oControl.FindControl(oControl.ID)
                            ' HttpContext.Current.Response.Write("<br>" & "Label:- " & lblVal.Text)
                            If Not lblVal Is Nothing Then
                                If Not lblVal.Text.Equals("") Then
                                    ArrayLst.Add(New String() {strPageName & "_" & lblVal.ID & "_" &  MultiLang_Label & "_" &  MultiLang_NA, lblVal.Text.ToString()})
                                End If
                            End If
                        Catch ex As Exception
 
                        End Try
 
 
                    Case  MultiLang_HtmlTableControl ' for fetching table control
 
                        htmTbl = oControl.FindControl(oControl.ID)
                        Dim MyRow As System.Web.UI.HtmlControls.HtmlTableRow
                        Dim mycell As System.Web.UI.HtmlControls.HtmlTableCell
                        Try
                            ' Travesing each row in the table and then traversing the cells
                            For Each MyRow In htmTbl.Rows
                                For Each mycell In MyRow.Cells
                                    If mycell.Controls(0).GetType().ToString().Equals( MultiLang_LiteralControl) Then
                                        ' If mycell.InnerText.Length > 0 Then
                                        If Not mycell.ID Is Nothing Then
                                            If Not mycell.InnerText.ToString() Is Nothing Then
                                                If mycell.InnerText.Length > 0 Then
                                                    ArrayLst.Add(New String() {strPageName & "_" & mycell.ID & "_" &  MultiLang_td & "_" &  MultiLang_NA, mycell.InnerText.ToString()})
                                                End If
                                            End If
                                        End If
                                        'End If
                                    End If
                                Next
                            Next
                        Catch ex As Exception
 
                        End Try
 
                    Case  MultiLang_ButtonControl ' for fetching button control
                        btnVal = oControl.FindControl(oControl.ID)
                        If Not btnVal Is Nothing Then
                            ArrayLst.Add(New String() {strPageName & "_" & btnVal.ID & "_" &  MultiLang_Button & "_" &  MultiLang_NA, btnVal.Text.ToString()})
                        End If
                End Select
 
    End Sub
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

 

How to fetch Page controls of web form Dynamically in vb.net

 

To Find the Page Controls in a Web Page
 
Public Function FindPageControl(ByVal oControlCollection As ControlCollection, ByVal strPageName As String) As ArrayList
        ' Traverses all the controls in the page
        For Each oControl As Control In oControlCollection
            DisplayControlName(oControl, strPageName)
            FindPageControl(oControl.Controls, strPageName)
        Next
        Return ArrayLst
    End Function
How to call this function
 
FindPageControl(Page.Controls, strPgName)
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati