Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / Languages / VB.NET / March 2008

Tip: Looking for answers? Try searching our database.

ComboBox drop-down window closing/hidden

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
- HAL9000 - 21 Mar 2008 08:01 GMT
I am trying to get an event when the drop-down Combo Box goes away /
reverts back to showing a single item.  

For example, clicking the box's down arrow, to remove the drop-down
window, doesn't seem to generate any event.  Not even a mouse event.
That seems a little odd.

Besides not finding a public event method, I can't seem to find a
protected method to over-ride either.

I am guessing I need to look for a message in ComboBox's WndProc().
But I don't know which message is the one I'm looking for.

Any ideas ?

Thanks...
kimiraikkonen - 21 Mar 2008 10:32 GMT
> I am trying to get an event when the drop-down Combo Box goes away /
> reverts back to showing a single item.
[quoted text clipped - 12 lines]
>
> Thanks...

DropDownClosed event of combobox must be what you're looking for.
- HAL9000 - 21 Mar 2008 21:24 GMT
>> I am trying to get an event when the drop-down Combo Box goes away /
>> reverts back to showing a single item.
[quoted text clipped - 14 lines]
>
>DropDownClosed event of combobox must be what you're looking for.

Ahh, I see they added DropDownClosed() event for .net version 2.  I
have to use version 1, so I can't use that.

That tip did lead me to the information I needed though (eg
CBN_CLOSEUP message):

http://groups.google.com/group/microsoft.public.dotnet.languages.vb/msg/b174deef
8895fc73


Changed that around a little to:

  Protected Overrides Sub WndProc(ByRef m As
System.Windows.Forms.Message)
     'WM_USER As Integer = &H400
     'OCM__BASE As Integer = WM_USER + &H1C00
     'WM_COMMAND As Integer = &H111
     'OCM_COMMAND As Integer = OCM__BASE + WM_COMMAND
     If m.Msg = (&H400 + &H111 + &H1C00) Then
        Debug.WriteLine("WndProc Msg = " & Hex(m.Msg) & "h, LParam =
" & Hex(m.LParam.ToInt32) & "h, WParam = " & Hex(m.WParam.ToInt32) &
"h, HWnd = " & Hex(m.HWnd.ToInt32) & "h")
        If (m.WParam.ToInt32 And &HF0000) = &H80000 Then
           Debug.WriteLine("drop down window close message")
           OnDropDownWindowClose(System.EventArgs.Empty)
        End If
     End If
     MyBase.WndProc(m)
  End Sub

  Protected Overridable Sub OnDropDownWindowClose(ByVal e As
System.EventArgs)
     RaiseEvent DropDownWindowClose(Me, e)
  End Sub

  Public Event DropDownWindowClose As EventHandler
kimiraikkonen - 21 Mar 2008 22:29 GMT
> On Fri, 21 Mar 2008 02:32:01 -0700 (PDT), kimiraikkonen
>
[quoted text clipped - 54 lines]
>
> - Show quoted text -

I think it's your time to jump .net 2.0 at least. DropDownClosed is
well-wrapped event rather than writing low-level Win32 API calls as
you described above.

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.