Это работает для меня.
new Thread(() =>
{
Thread.CurrentThread.IsBackground = false;
Application.Current.Dispatcher.BeginInvoke(DispatcherPriority.Background, (SendOrPostCallback)delegate {
//Your Code here.
}, null);
}).Start();
Хорошо, я выяснил это сейчас:)
- (IBAction)focusInputField:(id)sender {
[textField selectText:self];
[[textField currentEditor] setSelectedRange:NSMakeRange([[textField stringValue] length], 0)];
}
, а в RubyCocoa это:
def select_input_field
@input.selectText self
range = OSX::NSRange.new(@input.stringValue.length, 0)
@input.currentEditor.setSelectedRange range
end
Вы захотите сделать что-то вроде этого:
[[self window] makeFirstResponder:[self yourTextField]];
Я пишу внутриигровой плагин, у меня была аналогичная проблема:
- (void)gotEvent:(NSEvent *)newEvent
{
[mainWindow makeKeyAndOrderFront:self];
[mainWindow makeFirstResponder:messageField];
[mainWindow sendEvent:newEvent]; // will forward the typing event
}
это работает :)
{{ 1}}