Event Handling Between Two Unlinked Classes
Dec 22, 2010I'm trying to raise an event in class A and catch it in class B which does not contain class A. Is this possible? [code]
View 10 RepliesI'm trying to raise an event in class A and catch it in class B which does not contain class A. Is this possible? [code]
View 10 RepliesI'm completely confused about the event handling. I read some articles about it but after it I just get confused to write and use them in my classes.This is my class i. e.:
[Code]..
I dont have any argument passing. But I want to know how should I do it too. And I wanted to know if each instance of the Test class, run this event separately I mean each instance by themselves, This event AnEvent() will occur? Cuz I have lots of instances from my class.
I've 2 projects- one containing GUI and another a DLL project containing some implementations. I'm using Classes in DLL in my GUI. All that I wanna do is when some results are manipulated in the DLL, the final output from DLL should be made available in the RichTextBox present in the GUI project. I tried the WithEvents and also Add Handler. But its not working.In the DLL, I added...
Public Event Report(ByVal info As String)
RaiseEvent Report("The folder has been Copied.") In the GUI, I added...
Public WithEvents Log As RTAF_DLL.CServer // RTAF_DLLis the project name.
CServer is the class // in which the event has been writtenLog = New RTAF_DLL.CServer
Protected Sub Log_Report(ByVal info As String) Handles Log.ReportMsgBox(info)
// Even this is not getting printedMe.RichTextBox2.AppendText(info)End Sub
The problem here is I'm not sure whether or not the event is getting raised. But I set a breakpoint and found that the Event is not handled.I tried including Imports System.Runtime.InteropServicesBut its not working.
I have the following code in a class of mine. The purpose of this class is to get the balance from a web server. Just in case something goes wrong with getting the balance. I will handle a exception. However, all this is easy to do. But I am left wondering what do I return in my catch statement.
Most of the examples I looked at just write to the console using:
Console.WriteLine(ex.Message);
That is all very well. But in a real application what do most developers do?
My function at the moment returns void. And I am just wondering what else I would return if the webclient is busy?
[Code].....
I'm working in VB.Net developing data logging software. I've developed classes implementing a common interface that works with many of the data loggers my company produces. These classes handle the low-level hardware interfacing and expose common methods for accessing the data logger's records.
[Code]...
I have to get the balance from the web server. Once that is done it will call back into my main app with the result.However, sometime the web server fails for some unknown reason. Could be high volume of traffic or something else. However, I haven't implemented any exception handling in my class. As the app that uses this handles the exception. However, the client has confirmed that when the web server does fail it displays a unhandled exception dialog box. Then they have to click continue to keep using my application. So below I am not sure if I should implement the exception handling in my class.[code]
View 1 RepliesI have alot of experience in working in VBA for excel, but not so much experience in creating my own structures so it's all still a bit foggy. I'm trying to capture the event for when the F1 key is pressed, not just when the form is active, but anytime the program is running. The code below expressing the handling is automatically generated for me in VB Express... But I'd like to change the situation to encompass anytime the program is open. I guess I have to reference events that happen in windows in general, but i don't know how to do it. I think i have to create the even in a class module?
[Code]...
i declared a global variable button:
Dim button1 As New Button()
Now, i dont know how to add a click event in this button since it is a variable.
Let's say I cut a tab control with buttons on it and paste it into a Panel control. After doing this, all my control events are being unlinked from the event code. I have to manually relink all the events in the Properties window. Is there any way round this?
View 15 RepliesI am developing a COM dll library, and I have a little vb.net (vs 2005) application just to test it.I had my object declared in the application as
Private m_VarName As MyLib.CMyComClass
So far, so good.But now, I need an event to inform the application of some things, so I implemented such event in the COM dll, and changed the declaration to
Private WithEvents m_VarName As MyLib.CMyComClass
So far, so good, again. But if I add a Sub to handle my event:
Private Sub m_VarName_OnCaptureStop() Handles m_VarName.MyEvent
..
End Sub
The first time I create the object, nothing bad happens, but if I reinstantiate it
If (Not m_VarName Is Nothing) Then ReleaseComObject(m_VarName)
m_VarName= New MyLib.CMyComClass
then I get a cryptic TargetInvocationException, seemingly related to reflection (which, AFAIK, I am not using).If I remove the "Handles m_VarName.MyEvent" part, everything seems to work. In case it matters, I am not firing any event, for now.
NET gurus... How would you convert this very chunk into VB?
[Code]...
When I use an online converter (Telerik), the middle line converts like this: Me.timer.Elapsed += New System.Timers.ElapsedEventHandler(ManageThreads) with 2 errors:
1- "Public eventElapsed is an event and cannot be called directly. Use raiseEvent
2- Delegate requires an Adess Of expression. Do I simply add "Address Of" ?
I have an event defined and firing in class B
Public myEvent()
In class A:
Private WithEvents _b as B
Private Sub hander() Handles _b.myEvent
but, this handler does not get called.
I've been trying to figure out how to get this control to work for over a week. It can be found here: A Professional Calendar/Agenda View That You Will Use - CodeProject. It's a calendar/scheduler control that was designed using c# and I'm trying to use it in my vb.net app. I've sucessfully created a dll and have referenced that dll in my project and am able to see the controls in the toolbox as well as put them on my form. My problem is that I can't get ANY of the code that I wrote in the form to fire. No event handlers will work, not even the form_load which handles the mybase.load event. Nada. f a reason that this might be? How do I sucessfully add a handler to the events? I've used <code> addhandler monthView1.SelectionChanged, addressof (and nothing I put here ever works) </code>
View 4 RepliesI have come accross many scenarios of handling datagridviewcombobox events, however none seem to fit my scenario, or I may be missing something.1. I need to capture the column index that the combobox is resident in. This is because I have a complete row of comboboxes that should set the header text to the selected value.here is the code I have so far:' I also use a list of string as datasource publicly declared
Public cs As New List(Of String)
'to insert the combo's into the grid
Dim row As New DataGridViewRow
cs.add("Book")
cd.Add("Author")
[code]....
how to write below in vb.net??
Me.connection = New RAPI
connection.ActiveSync.Active += new ActiveHandler(ActiveSyncActive);
Private Sub ActiveSyncActive()
..................
End Sub
I can come up with, if I understood the solution better, I could probably phrase a better subject line.[code]...
View 2 RepliesIs it possible to handle a mouseDown event in VB.Net (2008) regardless of the control firing the mouseDown event? Basically, I just want to catch a mouseDown event at the "form level" and don't want to program mouseDown event handlers in every control. Is there a way to do this?
View 2 RepliesI have an object Order with a simple event, Public Event ErrorOccurred(ByVal msg As String)that I raise in the constructor like so when an order cannot be found (along w/setting a boolean error flag:
RaiseEvent ErrorOccurred("This order does not exist in the database.")
[Error] = True
I have a webform subscribed to the order's ErrorOccurred event:
Public WithEvents o As New Order
and I have an error handler method on the form:
Private Sub OnErrorOccurred(ByVal msg As String) Handles o.ErrorOccurred
litMsg.Text = "<p class=""error-confirm"">" & msg & "</p>"
End Sub
When a textbox is changed, it autoposts back to the page and employs the following logic:
Private Sub txtOrderID_TextChanged(ByVal sender As Object,_
ByVal e As System.EventArgs) Handles txtOrderID.TextChanged
If IsNumeric(txtOrderID.Text) Then
[code]....
When there is an error (when the Else logic is run), everything performs as expected except the event does not fire. However, since the Error flag is set to true, it means the event MUST have fired, since that line executes AFTER the RaiseEvent line. I've tried everything I can think of, but I cannot figure out what could be wrong. I have events strewn everywhere in my project and they all work well using virtually the same structure.
I need to create event handler for Outlook event 'item send'. This is to capture the event before email get actually sent. I could generate this event handler in C# within seconds but having problem to do it in VB. Any translation online
C# code:
private void Form1_Load(object sender, EventArgs e)
{
[code].....
Basically, I have a custom child form class which has events that will be passed to the parent. In the custom child form, I have a declaration of a "MustInherit" class that inherits the DevExpress User Control Class.
The reason for this, is I have many user controls that derive from this base class, and the child form can have an instance of any one of these controls, and doesnt care which. The only requirement is that the child form can handle the same events from each type of control the same way.
Some watered down code snippets(still pretty long unfortunately):
'''Inherited Class
Public Class ChildControlInheritedClass
[Code].....
I'm developing an application, where I want to show a video and afterwards resume working. However, It seems that the event handler isn't working proberly. The video starts to play, the way I have it expected, however after finishing no message box shows.
Private WithEvents AudioDatei As Audio
Private WithEvents VideoDatei As Video
Private Sub play_video()
[Code].....
I am using an activeX control to read data from an external source. This data is processed in 5 second increments. Each piece of data is passed through an event. When the event triggers I call a "decision" procedure from the event to process the data and make decisions on what to do, i.e. call other procedures, store the data, etc... This works fine when I have a small number of samples (around 10), however, when the number of samples increases to say 100, that is I am recieving 100 pieces of data every 5 seconds, the "decision" procedure does not fully run. Is it possible that the event trigger is causing the code to exit the "decision" procedure prematurely? I know that the "Decision" procedure starts since I have written data from the beginning of the procedure but not the end of it. how to handle the rapid event triggers?
View 7 RepliesI've created a private internet explorer for personal use but when New Window Event occurs, Default Internet Explorer opens! How can I handle the URL of the New Window and use that for opening a new tab in my explorer navigated to that URL?
View 7 RepliesWhat I'd like to do is raise an event inside a clsGateway instance running inside its own thread and have that be consumed by a clsLoader instance which is also running inside its own thread.
View 7 RepliesI have a form with several buttons on it and when the user presses one of the buttons it begins a lengthy process (takes up to several seconds). What I want to happen is that any subsequent button presses that occur on any other button on the form are ignored until the process is complete from the initial button press. What actually happens is that subsequent button presses go into a queue and are executed in sequence as the processes for each complete. What I mean is, if each button executes a function that takes 2 seconds and I hit 5 buttons very quickly (in less than 2 seconds say) it leads to a sequence of events that takes 10 seconds.... what I want to happen is for it to lead to only the FIRST button press occurring and taking the 2 seconds that it's activated function takes.
I am writing software that interfaces with hardware through a USB to UART converter and am using virtual COM ports and timing is critical. I want something to occur ONLY when I press a button, not seconds later after being queued up and waiting for a previous operation to finish.
I'm looking to populate a treeview control with nodes, at RUNTIME. When the user clicks on the node, it will open up a form to display the data for the device represented by the node.There are three groups of nodes. Each group has its own form that it uses. For example:
-Root
---Group 1
------Device 1
[code].....
From jmchillihiney's most excellent code bank sumission on Drawing:Quote:The way GDI+ works, controls get repainted on screen over and over again, sometimes many times in quick succession. On each of these occasions the control's Paint event is raised. You need to use the Paint event of the control to perform your own drawing or else, the next time the control is repainted, your drawing will just disappear as the control paints over it.
When you're creating a custom control you should override the OnPaint method and perform your drawing there. When you're designing a form or user control and you want to add custom drawing to a child control you handle that control's Paint event, then perform your drawing in the event handler.
You may have seen, or heard people talk about, controls flickering on screen. That's caused by repainting large areas of the control repeatedly and happens because painting on screen is actually quite a slow process. As such, you should try to do as little of it as possible.So, I am attempting to draw part of a custom control. I have placed a SplitContainer on a UserControl, and oriented it vertically. I then shrunk to top panel to 15 pixels in height. I have two Methods which each draw a different type of Path + fill into the panel, and then draw a border around it (One is a gradient fill, and the other is just a plain color). The idea is that when the user clicks on this panel, it switches from one to the other (a "Selected State" and "Not-Selected" state).
I have also created an icon which looks like the +/- widget on a treeview (or more specifically, on the vs2008 Toolbox, which is essentially what I am trying to emulate here . . .) which toggles as the control is selected/unselected. Not that ultimately, the selected state will change when the user selects OTHER controls, but the Expand/Collapse gizmo will toggle when the user clicks on the panel in question.
Again, check out the vs2008 toolbox. The Group "headers" are what I am after here. Believe it or not, all of this now WORKS (gee me, look what I did!) EXCEPT the initialization. If I "Handle" the paint event of the SplitCOntainer.Panel1 object in any way which prevents the flickering jmc alludes to above, any redrawing required by either initialization OR hiding/unhiding of the host form is prevented. And it seems like the SplitContainer panel is constantly redraing (probably checking to see if the splitter has been moved).
I can post some code, but it is a little confusing, since I am dealing with some semi-complex interaction here. Also, It is not necssecarily structured well ()yet). AFTER I figured out the drawing bits, THEN I was going to try to do some refactoring and restructuring. Code Follows in next post.
i am creating ovalshapes during runtime....and i want to trigger an event when its clicked,an array a(5) is declared as ovals
View 2 RepliesI'm trying to manipulate the events of the dataGridViewComboboxColumn in order to execute an SQL statement based on the value change of the cell (IndexChanged) and update the database table. Either this or how can i update several rows in a table from a datagridview ? if you check my previous posts you'll understand the whole story behind this question and to which grid i'm refering to.
View 2 RepliesI am creating a program using Visual Basic 2010 Express.
I want to make a Sub handling both MouseHover and MouseLeave events. Is this possible? And if possible, how do I differ between MouseHover event and MouseLeave event?