c # отправка ярлыков управления - PullRequest
0 голосов
/ 25 февраля 2011

Я делаю программу на C Sharp / XAML. У меня есть кнопка «Сохранить», и я решил, что самый простой способ сделать ее эффективной - это нажать, если я смогу послать сигнал «control s». Какая команда (и любая, в том числе VS не добавит в качестве стандарта) для этого?

Совершенно другой вопрос, чтобы сократить количество потоков, как сделать так, чтобы текстовый блок (или текстовое поле, если проще) автоматически переводил новую строку при достижении конца, а не продолжал отправлять текст за кадром.

Ответы [ 3 ]

0 голосов
/ 25 февраля 2011

Существуют более совершенные шаблоны, которые я бы посоветовал изучить перед подключением вашего пользовательского интерфейса к нажатию клавиш (например, Команды ), но если вы действительно хотите это сделать, вы можете использовать SendKeys класс из окон формы.Это позволит вам отправлять нажатия клавиш в приложение, как если бы пользователь нажимал эти клавиши.

Что касается второго вопроса, если вы используете WPF, просто создайте элемент текстового поля и установите AcceptsReturn="True" и * 1008.*.Вот пример:

<TextBox
  Name="tbMultiLine"
  TextWrapping="Wrap"
  AcceptsReturn="True"
  VerticalScrollBarVisibility="Visible"
>
  This TextBox will allow the user to enter multiple lines of text.  When the RETURN key is pressed, 
  or when typed text reaches the edge of the text box, a new line is automatically inserted.
</TextBox>
0 голосов
/ 25 февраля 2011

Если вы используете XAML, я предполагаю, что вы используете WPF.Таким образом, вы должны иметь возможность связать свойство Command кнопки с ApplicationCommands.Save.

0 голосов
/ 25 февраля 2011

Вы можете использовать SaveFileDialog ().

private void button1_Click(object sender, EventArgs e)
    {
        // When user clicks button, show the dialog.
        saveFileDialog1.ShowDialog();
    }

    private void saveFileDialog1_FileOk(object sender, CancelEventArgs e)
    {
        // Get file name.
        string name = saveFileDialog1.FileName;
        // Write to the file name selected.
        // ... You can write the text from a TextBox instead of a string literal.
        File.WriteAllText(name, "test");
    }
...