标签: raiseevent

如何在用户控件中引发事件并在主页中捕获它?

我有一个UserControl,我需要通知父页面点击了一个按钮UserControl.如何UserControl在主页面上引发事件并将其捕获?我尝试过使用static,很多人建议我去参加活动!

c# silverlight events user-controls raiseevent

48
推荐指数
2
解决办法
7万
查看次数

如何在VB.NET代码中触发事件?

我有一个具有开始按钮的表单(允许用户根据需要反复运行进程),并且我想btnStart.Click在表单加载时发送一个事件,以便进程自动启动.

我对btnStart.Click事件有以下功能,但是我如何实际告诉Visual Basic'假装有人点击了按钮并触发了此事件'?

我试过非常简单,基本上可行.但是,Visual Studio给了我一个警告Variable 'sender' is used before it has been assigned a value,所以我猜这不是真正的方法:

Dim sender As Object
btnStart_Click(sender, New EventArgs())
Run Code Online (Sandbox Code Playgroud)

我也尝试过使用RaiseEvent btnStart.Click,但是会出现以下错误:

'btnStart'不是'MyProject.MyFormClass的事件

Imports System.ComponentModel

Partial Public Class frmProgress

    Private bw As BackgroundWorker = New BackgroundWorker

    Public Sub New()

        InitializeComponent()

        ' Set up the BackgroundWorker
        bw.WorkerReportsProgress = True
        bw.WorkerSupportsCancellation = True
        AddHandler bw.DoWork, AddressOf bw_DoWork
        AddHandler bw.ProgressChanged, AddressOf bw_ProgressChanged
        AddHandler bw.RunWorkerCompleted, AddressOf bw_RunWorkerCompleted

        ' Fire the 'btnStart.click' event when …
Run Code Online (Sandbox Code Playgroud)

vb.net events raiseevent

18
推荐指数
4
解决办法
6万
查看次数

以编程方式触发MouseLeftButtonDown事件

我正在尝试以编程方式在WPF控件上手动触发MouseLeftButtonDown事件,因为我使用的是Microsoft Surface SDK,它不会触发MouseLeftButtonDown事件,而是触发ContactDown事件.基本上我正在尝试将MouseLeftButtonDown事件向下推送到控件,以在处理ContactDown事件时触发控件上的正确行为.

我猜我必须以某种方式使用控件上的RaiseEvent方法来实现MouseButtonEventArgs,但是我在查找参数时遇到了一些麻烦.

在此先感谢您的帮助!

c# wpf mouseleftbuttondown raiseevent

8
推荐指数
2
解决办法
2万
查看次数

将c#转换为vb.net'RaiseEvent'语句以引发事件以使用Gzip

我已经将类从c#转换为vb.net ..我的意思是我要压缩asp.net页面以减少页面大小,问题是在我转换为vb.net之后,我有这个错误

描述:编译服务此请求所需的资源时发生错误.请查看以下特定错误详细信息并相应地修改源代码.

编译器错误消息:BC32022:'公共事件PostRequestHandlerExecute(sender As Object,e As System.EventArgs)'是一个事件,不能直接调用.使用'RaiseEvent'语句来引发事件.

来源错误:

第178行:

第179行:私有子Init(上下文为HttpApplication)实现IHttpModule.Init

第180行:context.PostRequestHandlerExecute + = New EventHandler(context_BeginRequest)

第181行:结束子

第182行:

我试图为asp.net实现Gzip ...提前感谢....

events gzip raise raiseevent

8
推荐指数
2
解决办法
1万
查看次数

当事件被引发一次时,多次调用c#事件处理程序

下面是我的代码,首先是我提出事件的地方,第二部分是我在另一个类中使用它的地方.它看起来很简单,但是日志显示即使事件被提升一次,事件也会在消耗此事件的类上触发20次以上.有任何想法吗?

IBSerialPort 类:

public delegate void PacketReceivedHandler(object sender, PacketReceivedEventArgs e);
public event PacketReceivedHandler OnPacketReceived;

public class PacketReceivedEventArgs : EventArgs
{
  public Packet PacketReceived { get; private set; }

  public PacketReceivedEventArgs(Packet packet)
  {
    PacketReceived = packet;
  }
}

// raise event
if (OnPacketReceived != null)
{
    Log("This is only called ONCE!");
    PacketReceivedEventArgs args = new PacketReceivedEventArgs(data);
    OnPacketReceived(this, args);
}
Run Code Online (Sandbox Code Playgroud)

使用IBSerialPort和使用其OnPacketReceived事件的类:

IBSerialPort ibSerialPort = null;
..
if (ibSerialPort == null)
{
  Log("This is only called once");

  ibSerialPort = …
Run Code Online (Sandbox Code Playgroud)

c# events serial-port raiseevent

8
推荐指数
2
解决办法
8952
查看次数

如何在VB.NET中引发事件之前检查订阅者

在C#中,你做这样的事情:

if (Changed != null)
    Changed(this, EventArgs.Empty);
Run Code Online (Sandbox Code Playgroud)

但是你在VB.NET中做了什么?

RaiseEvent,但是

RaiseEvent Changed(Me, EventArgs.Empty)
Run Code Online (Sandbox Code Playgroud)

实际上检查某事已订阅该事件?

.net vb.net event-handling raiseevent

7
推荐指数
1
解决办法
3250
查看次数

在 vb.net 中如何引发标签的点击事件

我有几个标签,全部编码如下:

Public assessment_menu_button As New Label
Public current_label_clicked As New Label

AddHandler assessment_menu_button.Click, AddressOf click_assessment_menu_button

Private Sub click_assessment_menu_button(ByVal sender As System.Object, 
                                         ByVal e As System.EventArgs)
   current_label_clicked = sender
   ' do some other stuff
End Sub
Run Code Online (Sandbox Code Playgroud)

然后,稍后在我的程序中,我有一个 Sub,它需要对放入 current_label_clicked 的任何标签执行单击,并在其上引发单击事件。就像是

Private Sub whatever()
    current_label_clicked.performClick()
End Sub
Run Code Online (Sandbox Code Playgroud)

但你不能用标签做到这一点。

那么如何引发标签的点击事件呢?

谢谢。

vb.net click raiseevent

3
推荐指数
1
解决办法
1万
查看次数

DragDrop事件未引发

这是一个愚蠢的问题......我正试图将一个图片框拖放到一个面板上.我遵循了一些例子,但它不起作用.从不引发面板的DragDrop事件.我在网站上搜索了一个解决方案并发现了一年多的两个主题,但他们的解决方案没有用.我创建了一个新项目,只有这个代码:

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            pictureBox1.MouseDown += new MouseEventHandler(pictureBox1_MouseDown);
            panel1.DragDrop +=new DragEventHandler(panel1_DragDrop);
            panel1.DragOver +=new DragEventHandler(panel1_DragOver);
        }

        private void panel1_DragOver(object sender, DragEventArgs e)
        {
            Console.WriteLine("DragOver");
        }

        private void panel1_DragDrop(object sender, DragEventArgs e)
        {
            Console.WriteLine("DragDrop");
        }

        private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
        {
            Console.WriteLine("Mouse");
            pictureBox1.DoDragDrop(pictureBox1.Text, DragDropEffects.All);
        }
    }
Run Code Online (Sandbox Code Playgroud)

我还将面板的AllowDrop和窗体设置为true.DragOver和MouseDown被引发.此外,当我拖动图片框时,光标变成一个禁止的圆圈,就像是一个不允许的操作.有没有办法让光标成为图片框中的图像?我不希望图片框移动,只是为了向面板添加项目.

drag-and-drop raiseevent

2
推荐指数
1
解决办法
8453
查看次数

使用RaiseEvent语句引发事件VB.NET

我收到此错误:

错误1'公共事件NewFrame(sender As Object,eventArgs As
AForge.Video.NewFrameEventArgs)'是一个事件,不能直接调用.
使用'RaiseEvent'语句来引发事件.
C:\ Users\Jonathan\Documents\Visual Studio 2010\Projects\Stream\Stream\Form1.vb
9 9流

我的代码是:

在此输入图像描述

我怎么能解决这个问题?

vb.net windows aforge raiseevent

-1
推荐指数
1
解决办法
3364
查看次数