![](/img/trans.png)
[英]Did C# formatting change in Visual Studio 2015? And how can I change it back?
[英]How can I check if NSTextField did change value in C#?
我在 C# 中創建了一個 Cocoa 應用程序(使用 Xamarin.Mac),我想檢查 NSTextField 是否更改了值。 我在 C# 中找不到很多關於此的教程,並且為 swift 或覆蓋找到的方法對我不起作用。 我試過這個:
public override void ObjectDidEndEditing(NSObject editor)
和
public override void DidChangeValue(string forKey)
在 MacOS 中使用 Xamarin 時,要知道NSTextField
何時更改,您可以訂閱它的Changed
事件。
myTextField.Changed += TextField_Changed;
和
private void TextField_Changed(object sender, EventArgs e)
{
//Here you can access your TextField to get the value.
}
希望這可以幫助。
有兩種方法可以檢查NSTextField是否更改了值。
delegate
,但是與導航代碼有一點不同。如下:
textField.Delegate = new MyNSTextDelegate();
從NSTextFieldDelegate
創建一個 class 繼承:
class MyNSTextDelegate : NSTextFieldDelegate
{
[Export("controlTextDidChange:")]
public void Changed(NSNotification notification)
{
NSTextField textField = notification.Object as NSTextField;
Console.WriteLine("Text Changed : " + textField.StringValue);
}
}
Event
。如下:
textField.Changed += TextValue_Changed;
或者
textField.Changed += new EventHandler(TextValue_Changed);
TextValue_Changed
的實現:
private void TextValue_Changed(object sender, EventArgs e)
{
NSNotification notification = sender as NSNotification;
NSTextField textField = notification.Object as NSTextField;
Console.WriteLine("Text Changed : " + textField.StringValue);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.