Convert C# to VB online tools not correct

Posted on 2008-11-08
Last Modified: 2013-12-17
Hi All,

I am trying to convert the C# code below to VB, but the online tools is not converting correctly. Can anyone please help me to get this converted.

this.chkManageDragging.Checked += delegate { this.dragMgr.ListView = this.listView; };

this.chkManageDragging.Unchecked += delegate { this.dragMgr.ListView = null; };

this.chkDragAdorner.Checked += delegate { this.dragMgr.ShowDragAdorner = true; };

this.chkDragAdorner.Unchecked += delegate { this.dragMgr.ShowDragAdorner = false; };

this.sldDragOpacity.ValueChanged += delegate { this.dragMgr.DragAdornerOpacity = this.sldDragOpacity.Value; };

this.chkApplyContStyle.Checked += delegate { this.listView.ItemContainerStyle = this.FindResource( "ItemContStyle" ) as Style; };

this.chkApplyContStyle.Unchecked += delegate { this.listView.ItemContainerStyle = null; };

this.chkSwapDroppedItem.Checked += delegate { this.dragMgr.ProcessDrop += dragMgr_ProcessDrop; };

this.chkSwapDroppedItem.Unchecked += delegate { this.dragMgr.ProcessDrop -= dragMgr_ProcessDrop; };

this.chkShowOtherListView.Checked += delegate { this.listView2.Visibility = Visibility.Visible; };

this.chkShowOtherListView.Unchecked += delegate { this.listView2.Visibility = Visibility.Collapsed; };

Open in new window

Question by:ALawrence007
    LVL 4

    Expert Comment

    Not sure of your original code etc but depending on what you want to do, this may be a starter:
    Me.chkManageDragging.Checked = Me.dragMgr.ListView Is Me.listView
    Me.chkManageDragging.Unchecked = Me.dragMgr.ListView is Nothing
    Me.chkDragAdorner.Checked = Me.dragMgr.ShowDragAdorner
    Me.chkDragAdorner.Unchecked = Not Me.dragMgr.ShowDragAdorner
    Me.sldDragOpacity.ValueChanged = Me.dragMgr.DragAdornerOpacity = Me.sldDragOpacity.Value
    Me.chkApplyContStyle.Checked = Me.listView.ItemContainerStyle Is CType(Me.FindResource("ItemContStyle"),Style)

    Open in new window

    LVL 85

    Expert Comment

    by:Mike Tomlinson
    I think those are anonymous delegates?

    This part:

        delegate { this.dragMgr.ListView = this.listView; };

    Think of it as an un-named method that only exists in memory and can only be accessed by the thing it is assigned to.

    At any rate, VB.Net does NOT support anonymous delegates.  The conversion would require you to write SEPARATE actual methods for each piece and use addresof.

    Author Comment


    Thanks for the reply. I get the following Error when I use your code:

    'Public Event Checked(sender As Object, e As System.Windows.RoutedEventArgs)' is an event, and cannot be called directly. Use a 'RaiseEvent' statement to raise an event.    


    Can you maybe give me a sample to work with if I need to go that way?

    Thanks to both.
    LVL 4

    Expert Comment

    Ah sorry I was not clear that you were using events, wasn't with it!
    As Idle_Mind said, you will have to create sepeate Subs for each event/event group.
    Unforuntately VB.NET is behind when it comes to delegates!
    LVL 85

    Accepted Solution

    Is that a third-party checkbox control?...

    Anyhoo, using a Standard .Net CheckBox, I'll illustrate with this:
    Public Class Form1
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            AddHandler Me.chkManageDragging.CheckedChanged, AddressOf Me.chkManageDragging_CheckedChanged
        End Sub
        Private Sub chkManageDragging_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs
            Me.dragMgr.ListView = Me.listView
        End Sub
    End Class

    Open in new window


    Author Closing Comment

    Thanks Idle_Mind.

    Featured Post

    How to improve team productivity

    Quip adds documents, spreadsheets, and tasklists to your Slack experience
    - Elevate ideas to Quip docs
    - Share Quip docs in Slack
    - Get notified of changes to your docs
    - Available on iOS/Android/Desktop/Web
    - Online/Offline

    Join & Write a Comment

    Many of us here at EE write code. Many of us write exceptional code; just as many of us write exception-prone code. As we all should know, exceptions are a mechanism for handling errors which are typically out of our control. From database errors, t…
    A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
    This video discusses moving either the default database or any database to a new volume.
    Here's a very brief overview of the methods PRTG Network Monitor ( offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…

    746 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