我想在计算机或笔记本电脑暂停之前捕获 PowerModeChanged 事件。
\n\n我的代码片段如下:
\n\nvoid SystemEvents_OnPowerChanged(object sender, PowerModeChangedEventArgs e)\n {\n string fileName = DateTime.Today.ToString("yyyy-MM-dd") + ".txt"; //Den aktuellen Tag ermittlen\n string time = DateTime.Now.ToString("HH:mm:ss"); //Die Zeit beim Eintreten des Events ermitteln \n\n switch (e.Mode) //Event abfangen\n {\n case PowerModes.Resume: //Das Betriebssystem steht unmittelbar davor, aus dem Ruhezustand fortgesetzt zu werden, ...\n\n LogToFile(fileName, " - " + time + " -> Pause."); //... sodass die Pause beendet ist.\n lblStatus.Text = "Arbeit, Arbeit! :)";\n break;\n\n case PowerModes.Suspend: //Die Ausf\xc3\xbchrung …Run Code Online (Sandbox Code Playgroud) 我试图了解 EventHandler 并且必须使用通知项目。这是项目的链接: https ://codeload.github.com/mike-eason/WPF_ToastNotifications/zip/master
我所做的只是将 .Net-framework 从 4.5 更改为 4
我遇到了这个错误:
我的类不能用作泛型类型或方法“System.EventHandler”中的类型参数“TEventArgs”
ToastNotification类:
[TemplatePart(Name = "PART_DismissButton", Type = typeof(Button))]
public class ToastNotification : ContentControl
{
public event EventHandler Dismissed;
public string Title
{
get { return (string)GetValue(TitleProperty); }
set { SetValue(TitleProperty, value); }
}
public static readonly DependencyProperty TitleProperty =
DependencyProperty.Register("Title", typeof(string), typeof(ToastNotification));
public string Message
{
get { return (string)GetValue(MessageProperty); }
set { SetValue(MessageProperty, value); }
}
public static readonly DependencyProperty MessageProperty =
DependencyProperty.Register("Message", typeof(string), typeof(ToastNotification));
public …Run Code Online (Sandbox Code Playgroud) 我在 razor 文件中有以下 3 种方法
protected override async Task OnInitializedAsync()
{
EditContext = new EditContext(_projectModel);
EditContext.OnFieldChanged += EditContext_OnFieldChanged;
}
private async Task EditContext_OnFieldChanged(object sender, FieldChangedEventArgs e)
{
await SetOkDisabledStatus();
}
Run Code Online (Sandbox Code Playgroud)
这个方法是一个异步方法,我必须在调用它的任何地方等待它
private async Task SetOkDisabledStatus()
{
if (EditContext.Validate())
{
OkayDisabled = null;
await JsRuntime.InvokeVoidAsync("Animate");
}
else
{
OkayDisabled = "disabled";
}
}
Run Code Online (Sandbox Code Playgroud)
我正在 Blazor 服务器应用程序中使用 EditContext 进行验证。
我在 OnInitializedAsync() 方法下面的这一行收到错误消息,但不知道如何继续处理。
EditContext.OnFieldChanged += EditContext_OnFieldChanged;
Run Code Online (Sandbox Code Playgroud)
错误信息:
任务 MyProject.EditContext_OnFieldChanged(object, FieldChangedEventArgs)' 的返回类型错误。
需要一个带有 void EditContext_OnFieldChanged(object?, FieldChangedEventArgs e) 的方法
请注意,我正在使用 sonarqube 来检查我的所有代码。
Rectangle rect1 = new Rectangle(10, 10, 20, 20);
Rectangle rect2 = new Rectangle(60, 10, 20, 20);
EventHandler<MouseEvent> event = new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent ae) {
System.out.println("aaa");
}
};
rect1.setOnMouseClicked(event);
rect2.setOnMouseClicked(event);
Run Code Online (Sandbox Code Playgroud)
如何点击 rect1 打印 aaa,点击 rect2 打印 bbb ?
在我的实际程序中,我有数百个矩形,而在事件中,我有很多事情要做。所以我不想为每个人都声明事件。
谢谢!
如何将字符串参数传递给EventHandler?
ViewController(A)书面事件处理程序
public event EventHandler ValueChanged;
void ResponseCompleted(object sender, CommonCode.ResponseEventArgs e){
this.InvokeOnMainThread (delegate {
if (ValueChanged != null) {
ValueChanged (this, new EventArgs (e.ResponseData));
// e.ResponseData is an String datatype.
}
});
}
Run Code Online (Sandbox Code Playgroud)
的ViewController(B)
relatedDataSource.ValueChanged += delegate {
Get Response Data from ViewControllerA
}
Run Code Online (Sandbox Code Playgroud) 我想在Java中为多个JButton添加一个EventHandler.我使用JButton数组JButton[] buttons = new JButton[120].我用过这个解决方案
for (int i=0; i<btns.length; i++){
buttons[i].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
}
});
}
Run Code Online (Sandbox Code Playgroud)
但我认为上面的代码很糟糕.
我有一些示例代码绑定事件处理程序,如下所示:
var h1=document.querySelector('h1');
h1.onclick=doit;
function doit(x) {
console.log(x);
}
Run Code Online (Sandbox Code Playgroud)
触发事件处理程序时(通过单击h1元素),输出是一个event对象,如预期的那样.
如果我绑定事件处理程序如下:
h1.onclick=doit.bind(h1);
Run Code Online (Sandbox Code Playgroud)
我得到了相同的结果.
但是,如果我按如下方式绑定它:
h1.onclick=doit.bind(h1,1);
Run Code Online (Sandbox Code Playgroud)
我得到了1,之后的第一个参数h1.在所有情况下,vallue都this被正确设置为h1,但在最后一种情况下,传递的参数似乎替换了预期的事件对象.
如何在不将事件处理程序重写为函数表达式的情况下保留事件对象?
javascript events event-listener function-binding eventhandler
如何在每次迭代中使用一个单独的事件处理程序,而不对函数进行硬编码?
for (int i = 0; i < 100; i++)
{
//other code
PictureBox listItem = new PictureBox();
listItem.Click += new EventHandler((sender2, e2) => ListItemClicked(i));
//other code
}
Run Code Online (Sandbox Code Playgroud)
private void ListItemClicked(int index)
{
MessageBox.Show(index.ToString());
}
Run Code Online (Sandbox Code Playgroud) 我想创建一个由列表框所选项目的更改或单选按钮所选项目的更改触发的事件。是否可以?我使用这段代码:
def getScript(event):
state = rb.get()
listScript = []
processor = ()
processor = lb1.get(lb1.curselection())
if processor :
if (state == 1):
print processor
if (state == 2):
pass
if (state == 3):
pass
frame2 = Frame(top)
frame2.pack(fill = X)
rb = IntVar()
R1 = Radiobutton(frame2, text = "Parallel Test",
variable = rb, value = 1, command = getScript)
R2 = Radiobutton(frame2, text = "Non Parallel Test",
variable = rb, value = 2, command = getScript)
R3 = Radiobutton(frame2, text …Run Code Online (Sandbox Code Playgroud) 我正在尝试验证在文本框中进行的用户输入。但我不想总是添加一个必须按下的按钮,而是想在用户按下“Enter”键时自动检查它。
所以我的问题是:一旦用户在特定文本框中按下 Enter 键,PowerShell 就可以调用函数吗?
eventhandler ×10
c# ×5
java ×2
arrays ×1
blazor ×1
eventargs ×1
events ×1
ios ×1
iphone ×1
java-8 ×1
javafx ×1
javascript ×1
listbox ×1
picturebox ×1
powershell ×1
python ×1
radio-button ×1
swing ×1
tkinter ×1
wpf ×1
xamarin ×1