Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

want to avoid the labourios part

ShishyaShishya Posts: 11Member
How to set Controls' (TextBox, ComboBox, DateTimePicker,Button etc.) Height, Width, BorderStyle, TextAlignment, ForeColor, BackColor, FontSize etc. at project level to standardize through out the project without writing code or setting properties for each controls?

Even I want, Datagrid or flexgrid or listbox properties (majority appearace) to be set at project level.

Sometimes it is needed to override the settings done at project level. and set the properties for individual control.

Currenty, as a general practice, I am setting all these properties at design time settings.

Shishya

N.B. Ambience Properties set at Form Level, sets (automatically) properties of its child controls like Button etc.

Comments

  • iwilld0itiwilld0it Posts: 1,134Member
    : How to set Controls' (TextBox, ComboBox, DateTimePicker,Button etc.) Height, Width, BorderStyle, TextAlignment, ForeColor, BackColor, FontSize etc. at project level to standardize through out the project without writing code or setting properties for each controls?
    :
    : Even I want, Datagrid or flexgrid or listbox properties (majority appearace) to be set at project level.
    :
    : Sometimes it is needed to override the settings done at project level. and set the properties for individual control.
    :
    : Currenty, as a general practice, I am setting all these properties at design time settings.
    :
    : Shishya
    :
    : N.B. Ambience Properties set at Form Level, sets (automatically) properties of its child controls like Button etc.
    :

    There is no such properties ... but you can centralize your control sizing logic in a class ... sorry you have to write some base code ... actually the twist would be to write a base Form class and size all concievable controls in an overriden version of the OnLoad method like so ...

    [code]
    Public Class BaseForm
    Inherits Form

    Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
    For Each ctrl As Control In Me.Controls
    Select Case ctrl.GetType.Name
    Case "TextBox"
    ctrl.Size = New Size(100, 20)

    Case "ListBox"
    ctrl.Size = New Size(120, 25)

    ' etc ...

    End Select
    Next
    End Sub
    End Class
    [/code]

    Even so this can become quite intensive ... the other strategy, and a more involved strategy would be to create a bunch of custom controls that derive from the various controls and encapsulate sizing logic. Then instead of placing the regular texbox, for instance, you would place your custom textbox (which is formatted and sized to a desired dimension by default.) This would save the need to have to loop through the control hierarchy and test the logic of possibly more than 50 controls.


  • ShishyaShishya Posts: 11Member
    : : How to set Controls' (TextBox, ComboBox, DateTimePicker,Button etc.) Height, Width, BorderStyle, TextAlignment, ForeColor, BackColor, FontSize etc. at project level to standardize through out the project without writing code or setting properties for each controls?
    : :
    : : Even I want, Datagrid or flexgrid or listbox properties (majority appearace) to be set at project level.
    : :
    : : Sometimes it is needed to override the settings done at project level. and set the properties for individual control.
    : :
    : : Currenty, as a general practice, I am setting all these properties at design time settings.
    : :
    : : Shishya
    : :
    : : N.B. Ambience Properties set at Form Level, sets (automatically) properties of its child controls like Button etc.
    : :
    :
    : There is no such properties ... but you can centralize your control sizing logic in a class ... sorry you have to write some base code ... actually the twist would be to write a base Form class and size all concievable controls in an overriden version of the OnLoad method like so ...
    :
    : [code]
    : Public Class BaseForm
    : Inherits Form
    :
    : Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
    : For Each ctrl As Control In Me.Controls
    : Select Case ctrl.GetType.Name
    : Case "TextBox"
    : ctrl.Size = New Size(100, 20)
    :
    : Case "ListBox"
    : ctrl.Size = New Size(120, 25)
    :
    : ' etc ...
    :
    : End Select
    : Next
    : End Sub
    : End Class
    : [/code]
    :
    : Even so this can become quite intensive ... the other strategy, and a more involved strategy would be to create a bunch of custom controls that derive from the various controls and encapsulate sizing logic. Then instead of placing the regular texbox, for instance, you would place your custom textbox (which is formatted and sized to a desired dimension by default.) This would save the need to have to loop through the control hierarchy and test the logic of possibly more than 50 controls.
    :
    :
    :
    iwilldoit

    Have a good day.

    Thank you very much.

    I will try your suggested code and get back to you for further guidance, if needed.

    can I have a sample(s) of code to create a custom control?
    Thank you very much again.

    Shishya
  • iwilld0itiwilld0it Posts: 1,134Member
    : : : How to set Controls' (TextBox, ComboBox, DateTimePicker,Button etc.) Height, Width, BorderStyle, TextAlignment, ForeColor, BackColor, FontSize etc. at project level to standardize through out the project without writing code or setting properties for each controls?
    : : :
    : : : Even I want, Datagrid or flexgrid or listbox properties (majority appearace) to be set at project level.
    : : :
    : : : Sometimes it is needed to override the settings done at project level. and set the properties for individual control.
    : : :
    : : : Currenty, as a general practice, I am setting all these properties at design time settings.
    : : :
    : : : Shishya
    : : :
    : : : N.B. Ambience Properties set at Form Level, sets (automatically) properties of its child controls like Button etc.
    : : :
    : :
    : : There is no such properties ... but you can centralize your control sizing logic in a class ... sorry you have to write some base code ... actually the twist would be to write a base Form class and size all concievable controls in an overriden version of the OnLoad method like so ...
    : :
    : : [code]
    : : Public Class BaseForm
    : : Inherits Form
    : :
    : : Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
    : : For Each ctrl As Control In Me.Controls
    : : Select Case ctrl.GetType.Name
    : : Case "TextBox"
    : : ctrl.Size = New Size(100, 20)
    : :
    : : Case "ListBox"
    : : ctrl.Size = New Size(120, 25)
    : :
    : : ' etc ...
    : :
    : : End Select
    : : Next
    : : End Sub
    : : End Class
    : : [/code]
    : :
    : : Even so this can become quite intensive ... the other strategy, and a more involved strategy would be to create a bunch of custom controls that derive from the various controls and encapsulate sizing logic. Then instead of placing the regular texbox, for instance, you would place your custom textbox (which is formatted and sized to a desired dimension by default.) This would save the need to have to loop through the control hierarchy and test the logic of possibly more than 50 controls.
    : :
    : :
    : :
    : iwilldoit
    :
    : Have a good day.
    :
    : Thank you very much.
    :
    : I will try your suggested code and get back to you for further guidance, if needed.
    :
    : can I have a sample(s) of code to create a custom control?
    : Thank you very much again.
    :
    : Shishya
    :

    Custom control can be as simple as this ...

    [code]
    Public Class MyTextBox
    Inherits TextBox

    Protected Overrides Sub OnCreateControl()
    Me.Size = New Size(100, 20)
    End Sub
    End Class
    [/code]

    The OnCreateControl event is called when the control is created (sometime after the form that host it loads.)
  • ShishyaShishya Posts: 11Member
    : : : : How to set Controls' (TextBox, ComboBox, DateTimePicker,Button etc.) Height, Width, BorderStyle, TextAlignment, ForeColor, BackColor, FontSize etc. at project level to standardize through out the project without writing code or setting properties for each controls?
    : : : :
    : : : : Even I want, Datagrid or flexgrid or listbox properties (majority appearace) to be set at project level.
    : : : :
    : : : : Sometimes it is needed to override the settings done at project level. and set the properties for individual control.
    : : : :
    : : : : Currenty, as a general practice, I am setting all these properties at design time settings.
    : : : :
    : : : : Shishya
    : : : :
    : : : : N.B. Ambience Properties set at Form Level, sets (automatically) properties of its child controls like Button etc.
    : : : :
    : : :
    : : : There is no such properties ... but you can centralize your control sizing logic in a class ... sorry you have to write some base code ... actually the twist would be to write a base Form class and size all concievable controls in an overriden version of the OnLoad method like so ...
    : : :
    : : : [code]
    : : : Public Class BaseForm
    : : : Inherits Form
    : : :
    : : : Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
    : : : For Each ctrl As Control In Me.Controls
    : : : Select Case ctrl.GetType.Name
    : : : Case "TextBox"
    : : : ctrl.Size = New Size(100, 20)
    : : :
    : : : Case "ListBox"
    : : : ctrl.Size = New Size(120, 25)
    : : :
    : : : ' etc ...
    : : :
    : : : End Select
    : : : Next
    : : : End Sub
    : : : End Class
    : : : [/code]
    : : :
    : : : Even so this can become quite intensive ... the other strategy, and a more involved strategy would be to create a bunch of custom controls that derive from the various controls and encapsulate sizing logic. Then instead of placing the regular texbox, for instance, you would place your custom textbox (which is formatted and sized to a desired dimension by default.) This would save the need to have to loop through the control hierarchy and test the logic of possibly more than 50 controls.
    : : :
    : : :
    : : :
    : : iwilldoit
    : :
    : : Have a good day.
    : :
    : : Thank you very much.
    : :
    : : I will try your suggested code and get back to you for further guidance, if needed.
    : :
    : : can I have a sample(s) of code to create a custom control?
    : : Thank you very much again.
    : :
    : : Shishya
    : :
    :
    : Custom control can be as simple as this ...
    :
    : [code]
    : Public Class MyTextBox
    : Inherits TextBox
    :
    : Protected Overrides Sub OnCreateControl()
    : Me.Size = New Size(100, 20)
    : End Sub
    : End Class
    : [/code]
    :
    : The OnCreateControl event is called when the control is created (sometime after the form that host it loads.)
    :
    Dear iwillDoit

    Have a Nice Day.

    Thanks again.

    ( 1 )What do you suggest, If I want to give BackColor, ForeColor, FontSize (subsequently Control Size), BorderStyle etc. settings to set by a program user, what strategy would be propper?
    Centralizing the logic or developing a custom Control?

    ( 2 )While developing a custom control can we add event(s) or conditions' logic
    (Such as on getfocus the BackColor = BackColor.yellow)
    (This is to highlight the Cursor Position on the screen)
    or
    Can we centrallize such (event(s) or conditions' logic
    )logic at project level or Solution Level?

    Shishya
  • iwilld0itiwilld0it Posts: 1,134Member
    : : : : : How to set Controls' (TextBox, ComboBox, DateTimePicker,Button etc.) Height, Width, BorderStyle, TextAlignment, ForeColor, BackColor, FontSize etc. at project level to standardize through out the project without writing code or setting properties for each controls?
    : : : : :
    : : : : : Even I want, Datagrid or flexgrid or listbox properties (majority appearace) to be set at project level.
    : : : : :
    : : : : : Sometimes it is needed to override the settings done at project level. and set the properties for individual control.
    : : : : :
    : : : : : Currenty, as a general practice, I am setting all these properties at design time settings.
    : : : : :
    : : : : : Shishya
    : : : : :
    : : : : : N.B. Ambience Properties set at Form Level, sets (automatically) properties of its child controls like Button etc.
    : : : : :
    : : : :
    : : : : There is no such properties ... but you can centralize your control sizing logic in a class ... sorry you have to write some base code ... actually the twist would be to write a base Form class and size all concievable controls in an overriden version of the OnLoad method like so ...
    : : : :
    : : : : [code]
    : : : : Public Class BaseForm
    : : : : Inherits Form
    : : : :
    : : : : Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
    : : : : For Each ctrl As Control In Me.Controls
    : : : : Select Case ctrl.GetType.Name
    : : : : Case "TextBox"
    : : : : ctrl.Size = New Size(100, 20)
    : : : :
    : : : : Case "ListBox"
    : : : : ctrl.Size = New Size(120, 25)
    : : : :
    : : : : ' etc ...
    : : : :
    : : : : End Select
    : : : : Next
    : : : : End Sub
    : : : : End Class
    : : : : [/code]
    : : : :
    : : : : Even so this can become quite intensive ... the other strategy, and a more involved strategy would be to create a bunch of custom controls that derive from the various controls and encapsulate sizing logic. Then instead of placing the regular texbox, for instance, you would place your custom textbox (which is formatted and sized to a desired dimension by default.) This would save the need to have to loop through the control hierarchy and test the logic of possibly more than 50 controls.
    : : : :
    : : : :
    : : : :
    : : : iwilldoit
    : : :
    : : : Have a good day.
    : : :
    : : : Thank you very much.
    : : :
    : : : I will try your suggested code and get back to you for further guidance, if needed.
    : : :
    : : : can I have a sample(s) of code to create a custom control?
    : : : Thank you very much again.
    : : :
    : : : Shishya
    : : :
    : :
    : : Custom control can be as simple as this ...
    : :
    : : [code]
    : : Public Class MyTextBox
    : : Inherits TextBox
    : :
    : : Protected Overrides Sub OnCreateControl()
    : : Me.Size = New Size(100, 20)
    : : End Sub
    : : End Class
    : : [/code]
    : :
    : : The OnCreateControl event is called when the control is created (sometime after the form that host it loads.)
    : :
    : Dear iwillDoit
    :
    : Have a Nice Day.
    :
    : Thanks again.
    :
    : ( 1 )What do you suggest, If I want to give BackColor, ForeColor, FontSize (subsequently Control Size), BorderStyle etc. settings to set by a program user, what strategy would be propper?
    : Centralizing the logic or developing a custom Control?
    :
    : ( 2 )While developing a custom control can we add event(s) or conditions' logic
    : (Such as on getfocus the BackColor = BackColor.yellow)
    : (This is to highlight the Cursor Position on the screen)
    : or
    : Can we centrallize such (event(s) or conditions' logic
    : )logic at project level or Solution Level?
    :
    : Shishya
    :

    1. Personally I would go the custom control route as long as you plan on supplying the same default behavior all over the place. It might be more work in the beginning, but once your control is done, you can use it all over like a normal control and save hours in the long run. The original approach I would recommend for smaller scenarios where you are checking for a few types of controls.

    2. Yes you can add events. First off, depending on the control you derive from, there are already events you can tap into. Usually the control has an equiavlent OnEvent sub-procedure which internally triggers the event ... for instance the base TextBox class has a GotFocus event that is triggered by a OnGotFocus routine ... so if you want to supply default beavhior when the GotFocus event occurs, you can do this ...

    [code]
    Public Class MyTextBox
    Inherits TextBox

    Protected Overrides Sub OnGotFocus(ByVal e As System.EventArgs)
    Call MyBase.OnGotFocus(e)
    Me.BackColor = Color.Yellow
    End Sub
    End Class
    [/code]

    If you want the user of the control to still be able to respond to the GotFocus event and provide code on top of what you have in your custom class, then you must make sure this line is present in that procedure ...

    [code]
    Call MyBase.OnGotFocus(e)
    [/code]

    This is basically telling the Base TextBox to register the GotFocus event.

    To create a custom event, you use the event keyword.

    [code]
    Public Class MyTextBox
    Inherits TextBox
    Public Event MyEvent(ByVal sender As Object, ByVal e As EventArgs)

    Protected Overridable Sub OnMyEvent(ByVal e As EventArgs)
    RaiseEvent MyEvent(Me, e)
    End Sub

    Public Sub DoSomething
    Dim i As Integer
    For i = 1 to 10
    Call OnMyEvent(EventArgs.Empty)
    Next
    End Sub

    Protected Overrides Sub OnGotFocus(ByVal e As System.EventArgs)
    Call MyBase.OnGotFocus(e)
    Me.BackColor = Color.Yellow
    End Sub
    End Class
    [/code]

    A. Create the event

    [code]
    Public Event MyEvent(ByVal sender As Object, ByVal e As EventArgs)
    [/code]

    Note that it is standard to define the first argument of the event as an Object variable and the second argument as a derivative of EventArgs.

    B. It is standard to create a protected overridable sub that raises the event. Hence the the OnMyEvent procedure in the class.

    C. Then you call the OnMyEvent procedure internally in your class, anytime you want to trigger the event. As demonstrated in the DoSomething procedure which triggers the event ten times.

    The user of your control can then response to the event like so ...

    [code]
    Private Sub MyTextBox1_MyEvent(ByVal sender As Object, ByVal e As EventArgs) Handles MyTextBox1.MyEvent
    ' Do Something
    End Sub
    [/code]

  • ShishyaShishya Posts: 11Member
    : : : : : : How to set Controls' (TextBox, ComboBox, DateTimePicker,Button etc.) Height, Width, BorderStyle, TextAlignment, ForeColor, BackColor, FontSize etc. at project level to standardize through out the project without writing code or setting properties for each controls?
    : : : : : :
    : : : : : : Even I want, Datagrid or flexgrid or listbox properties (majority appearace) to be set at project level.
    : : : : : :
    : : : : : : Sometimes it is needed to override the settings done at project level. and set the properties for individual control.
    : : : : : :
    : : : : : : Currenty, as a general practice, I am setting all these properties at design time settings.
    : : : : : :
    : : : : : : Shishya
    : : : : : :
    : : : : : : N.B. Ambience Properties set at Form Level, sets (automatically) properties of its child controls like Button etc.
    : : : : : :
    : : : : :
    : : : : : There is no such properties ... but you can centralize your control sizing logic in a class ... sorry you have to write some base code ... actually the twist would be to write a base Form class and size all concievable controls in an overriden version of the OnLoad method like so ...
    : : : : :
    : : : : : [code]
    : : : : : Public Class BaseForm
    : : : : : Inherits Form
    : : : : :
    : : : : : Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
    : : : : : For Each ctrl As Control In Me.Controls
    : : : : : Select Case ctrl.GetType.Name
    : : : : : Case "TextBox"
    : : : : : ctrl.Size = New Size(100, 20)
    : : : : :
    : : : : : Case "ListBox"
    : : : : : ctrl.Size = New Size(120, 25)
    : : : : :
    : : : : : ' etc ...
    : : : : :
    : : : : : End Select
    : : : : : Next
    : : : : : End Sub
    : : : : : End Class
    : : : : : [/code]
    : : : : :
    : : : : : Even so this can become quite intensive ... the other strategy, and a more involved strategy would be to create a bunch of custom controls that derive from the various controls and encapsulate sizing logic. Then instead of placing the regular texbox, for instance, you would place your custom textbox (which is formatted and sized to a desired dimension by default.) This would save the need to have to loop through the control hierarchy and test the logic of possibly more than 50 controls.
    : : : : :
    : : : : :
    : : : : :
    : : : : iwilldoit
    : : : :
    : : : : Have a good day.
    : : : :
    : : : : Thank you very much.
    : : : :
    : : : : I will try your suggested code and get back to you for further guidance, if needed.
    : : : :
    : : : : can I have a sample(s) of code to create a custom control?
    : : : : Thank you very much again.
    : : : :
    : : : : Shishya
    : : : :
    : : :
    : : : Custom control can be as simple as this ...
    : : :
    : : : [code]
    : : : Public Class MyTextBox
    : : : Inherits TextBox
    : : :
    : : : Protected Overrides Sub OnCreateControl()
    : : : Me.Size = New Size(100, 20)
    : : : End Sub
    : : : End Class
    : : : [/code]
    : : :
    : : : The OnCreateControl event is called when the control is created (sometime after the form that host it loads.)
    : : :
    : : Dear iwillDoit
    : :
    : : Have a Nice Day.
    : :
    : : Thanks again.
    : :
    : : ( 1 )What do you suggest, If I want to give BackColor, ForeColor, FontSize (subsequently Control Size), BorderStyle etc. settings to set by a program user, what strategy would be propper?
    : : Centralizing the logic or developing a custom Control?
    : :
    : : ( 2 )While developing a custom control can we add event(s) or conditions' logic
    : : (Such as on getfocus the BackColor = BackColor.yellow)
    : : (This is to highlight the Cursor Position on the screen)
    : : or
    : : Can we centrallize such (event(s) or conditions' logic
    : : )logic at project level or Solution Level?
    : :
    : : Shishya
    : :
    :
    : 1. Personally I would go the custom control route as long as you plan on supplying the same default behavior all over the place. It might be more work in the beginning, but once your control is done, you can use it all over like a normal control and save hours in the long run. The original approach I would recommend for smaller scenarios where you are checking for a few types of controls.
    :
    : 2. Yes you can add events. First off, depending on the control you derive from, there are already events you can tap into. Usually the control has an equiavlent OnEvent sub-procedure which internally triggers the event ... for instance the base TextBox class has a GotFocus event that is triggered by a OnGotFocus routine ... so if you want to supply default beavhior when the GotFocus event occurs, you can do this ...
    :
    : [code]
    : Public Class MyTextBox
    : Inherits TextBox
    :
    : Protected Overrides Sub OnGotFocus(ByVal e As System.EventArgs)
    : Call MyBase.OnGotFocus(e)
    : Me.BackColor = Color.Yellow
    : End Sub
    : End Class
    : [/code]
    :
    : If you want the user of the control to still be able to respond to the GotFocus event and provide code on top of what you have in your custom class, then you must make sure this line is present in that procedure ...
    :
    : [code]
    : Call MyBase.OnGotFocus(e)
    : [/code]
    :
    : This is basically telling the Base TextBox to register the GotFocus event.
    :
    : To create a custom event, you use the event keyword.
    :
    : [code]
    : Public Class MyTextBox
    : Inherits TextBox
    : Public Event MyEvent(ByVal sender As Object, ByVal e As EventArgs)
    :
    : Protected Overridable Sub OnMyEvent(ByVal e As EventArgs)
    : RaiseEvent MyEvent(Me, e)
    : End Sub
    :
    : Public Sub DoSomething
    : Dim i As Integer
    : For i = 1 to 10
    : Call OnMyEvent(EventArgs.Empty)
    : Next
    : End Sub
    :
    : Protected Overrides Sub OnGotFocus(ByVal e As System.EventArgs)
    : Call MyBase.OnGotFocus(e)
    : Me.BackColor = Color.Yellow
    : End Sub
    : End Class
    : [/code]
    :
    : A. Create the event
    :
    : [code]
    : Public Event MyEvent(ByVal sender As Object, ByVal e As EventArgs)
    : [/code]
    :
    : Note that it is standard to define the first argument of the event as an Object variable and the second argument as a derivative of EventArgs.
    :
    : B. It is standard to create a protected overridable sub that raises the event. Hence the the OnMyEvent procedure in the class.
    :
    : C. Then you call the OnMyEvent procedure internally in your class, anytime you want to trigger the event. As demonstrated in the DoSomething procedure which triggers the event ten times.
    :
    : The user of your control can then response to the event like so ...
    :
    : [code]
    : Private Sub MyTextBox1_MyEvent(ByVal sender As Object, ByVal e As EventArgs) Handles MyTextBox1.MyEvent
    : ' Do Something
    : End Sub
    : [/code]
    :
    :


    Dear iwilld0it

    Have a good day.

    Thank You very much.

    As learnt from the details , I have to start developing my Custom Controls for the long term benefit.

    (1)Is there any mechnism / naming conventions , so it will be easy to identify the Controls (Custom and Other) in the toolbox?

    (2)In case logic or functionalities change for the custom control (Supposedly I have developed it for "ZIP CODE" ). How we can give the effect to the programmes distributed or deployed at customers' end?

    and

    How to replace the new custom Control instead of old control, which has been used so many times in the project or in so many projects and solutions?

    Any mass effect procedure?

    Thanks Again.

    Shishya
  • iwilld0itiwilld0it Posts: 1,134Member
    1. For best practices, look through this site ...

    http://www.microsoft.com/resources/practices/default.mspx

    2. As for re-deployment of controls. You should create a DLL project that contains all your control classes. When you make a change just overwrite the old dll with the new one. As long as you dont remove functionality from the old version, the programs that call the dll wont break.

    Deployment can be as easy as giving the user the dll and telling them to put it in their bin.
  • ShishyaShishya Posts: 11Member
    : 1. For best practices, look through this site ...
    :
    : http://www.microsoft.com/resources/practices/default.mspx
    :
    : 2. As for re-deployment of controls. You should create a DLL project that contains all your control classes. When you make a change just overwrite the old dll with the new one. As long as you dont remove functionality from the old version, the programs that call the dll wont break.
    :
    : Deployment can be as easy as giving the user the dll and telling them to put it in their bin.
    :

    Dear iwilld0it,

    Thanks a lot. Your guidence is very useful and of great value for me.

    I suppose, I must try & put into practice- all the things- which I learnt recently from here. And it will take good amount of time.

    Will get back to you after refering to the website suggested by you.



    Shishya

Sign In or Register to comment.