Solved

Can you create a Lightbox dialogbox in winforms using VB.net?

Posted on 2010-08-19
10
1,923 Views
Last Modified: 2013-12-26
Hi Experts,
I was wondering, if one can create light box effect in win forms using vb.net like many websites have this technique where the background form is semi transparant and the modal form is bright and in focus?
0
Comment
Question by:RekhaShah
  • 5
  • 5
10 Comments
 
LVL 42

Expert Comment

by:sedgwick
ID: 33479197
can u post an example of website which has this effect? just to get a clear picture of whai u need.
0
 

Author Comment

by:RekhaShah
ID: 33479271
It is called lightbox dialog effect. Even This website uses it when you post a question.  I think it is preety simple, I tried to set the opacity of the form =.5. then show the dialogbox and after the users' response, i set forms's transperancy back to 1.0. This is the closeset I can get. If you try this, you will have an idea of what I am talking about.
0
 
LVL 42

Expert Comment

by:sedgwick
ID: 33479327
u simply change the Opacity property of the Form and also the background color of the form.change the opacity to 0.86 and the backcolor to whatever you like.
0
 
LVL 42

Expert Comment

by:sedgwick
ID: 33479399
ok, u mean that u want to have like a semi transparent mask with some color, which covers also the controls on the form, is that correct?
0
 

Author Comment

by:RekhaShah
ID: 33479437
I think in ASP.net, they use some JQuery to  bring the effect. With opacity change, one can see the window's desktop. What should really happen is that the form should look like watermarked document if you will, or disabled document.
0
What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

 
LVL 42

Expert Comment

by:sedgwick
ID: 33479610
in WPF it is built in, u simply use Opacity like in any winform.
in .net 3.5 and earlier is kinda complicated.
before displaying the messagebox you could do the following:

take screenshot of the form, save it as image and perform the algorithm which yields lightbox effect (you can google for it, i'm sure it's somewhere).
then you set the image as the form background and hide all controls.
after user click the messagebox, you restore the form backcolor and show all the controls.
0
 

Author Comment

by:RekhaShah
ID: 33479728
There is a sample project on the folowing link, but it is in C#. i don't know C#. that will give you an idea. Thanks
http://cid-12d219ccfc930f76.skydrive.live.com/self.aspx/Code/LightBox000.zip
0
 

Accepted Solution

by:
RekhaShah earned 0 total points
ID: 33479943
I got it to work. It is very simple. Attaching the code for others.
I added a form called DarkenArea to the project , set the properties of the form as below:
Back Color = Black
SizeGripStyle = Hide
ShowIntaskBar = false
Opacity = 50%
MaximizeBox = false
Minimizebox = false
FormBorderStyle = none
StartPosition=Manual

 Dim sFileName As String

        Dim lbform As New DarkenArea()

        lbform.SetBounds(Me.Left + 8, Me.Top + 30, Me.ClientRectangle.Width, Me.ClientRectangle.Height)

        lbform.Owner = Me

        lbform.Show()

        sFileName = InputBox("Plese Enter File Name")

        lbform.Close()

Open in new window

0
 
LVL 42

Expert Comment

by:sedgwick
ID: 33479990
i can help you translate or u can use the following online conversion website:
http://www.developerfusion.com/tools/convert/vb-to-csharp/

here's the conversion for the Lightbox code:
Private Sub LBform_Load(sender As Object, e As EventArgs)
      Dim background As New Bitmap(Me.Width, Me.Height)
      Dim g As Graphics = Graphics.FromImage(background)
      g.FillRectangle(Brushes.Fuchsia, Me.ControlBounds)

      g.Flush()

      Me.BackgroundImage = background
      Me.Invalidate()
End Sub

LBform is the form which used as the Lightbox mask
0
 

Author Comment

by:RekhaShah
ID: 33480163
We don't have to do any of these things, just look at my code that i have posted. It works like a charm and no complicated code. But thanks for your willingness to help.
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Suggested Solutions

Introduction While answering a recent question about filtering a custom class collection, I realized that this could be accomplished with very little code by using the ScriptControl (SC) library.  This article will introduce you to the SC library a…
Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now