Используйте F2, чтобы написать текст, ранее определенный в TextBox - PullRequest
0 голосов
/ 26 октября 2018

Я пытаюсь сделать форму, используя VS2017 и C #, это будет для личного использования.

Я хочу, чтобы, когда я нажимаю клавишу "F2" в другом приложении (например, Word, Excel, Notepad)текст, который ранее был определен в TextBox в Visual Studio, автоматически появляется.

Например, если форма имеет TextBox1 с текстом «Hello», я хочу нажать F2 в Word и текст »Привет "появляется.

К тому моменту, когда у меня есть это, но я думаю, что это неправильно

using System;
using System.Collections.Generic;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {

    }

    private void Form1_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyData == Keys.F2)
        {
        SendKeys.Send(textBox1.Text);
        }
    }
  }
}

Если вы можете помочь мне с этим, я буду рад!:)

Спасибо!

1 Ответ

0 голосов
/ 26 октября 2018

Когда вы создаете обработчик событий в вашей форме, такой как Form1_KeyDown, вы слушаете события, происходящие в этой форме, и больше нигде.Если вы хотите получать информацию о ключе, происходящем за пределами вашего приложения, вы вообще не сможете сделать это, используя обработчики форм, и вам придется делать это через другие API.

Специальная функция, которую выесли хотите, насколько я знаю, вы можете напрямую разобраться в .net, это означает, что вам нужно будет взаимодействовать с Windows API, чтобы делать то, что вы хотите

Этот вопрос и ответ на него должны показать вам, каксделать это: Захватить нажатие клавиш клавиатуры в фоновом режиме

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...