сфокусируйте NSTextField

Это работает для меня.

        new Thread(() =>
        {

        Thread.CurrentThread.IsBackground = false;
        Application.Current.Dispatcher.BeginInvoke(DispatcherPriority.Background, (SendOrPostCallback)delegate {

          //Your Code here.

        }, null);
        }).Start();
16
задан Jeena 18 April 2009 в 20:51
поделиться

3 ответа

Хорошо, я выяснил это сейчас:)

- (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
20
ответ дан 30 November 2019 в 15:12
поделиться

Вы захотите сделать что-то вроде этого:

[[self window] makeFirstResponder:[self yourTextField]];
8
ответ дан 30 November 2019 в 15:12
поделиться

Я пишу внутриигровой плагин, у меня была аналогичная проблема:

- (void)gotEvent:(NSEvent *)newEvent
{
  [mainWindow makeKeyAndOrderFront:self];
  [mainWindow makeFirstResponder:messageField];
  [mainWindow sendEvent:newEvent]; // will forward the typing event
}

это работает :)

{{ 1}}
3
ответ дан 30 November 2019 в 15:12
поделиться