반응형

 

 

 

에디터로 사용하는 텍스트 박스에 입력을 하면서 저장하는 단축키를 추가해주고 싶어서

Ctrl키와 S를 눌렀을 때 저장해주는 특정 함수를 호출하는 이벤트를 추가해봄

 

2개 이상의 단축키 지정 과정

1. Xaml 컨트롤인 텍스트박스에 키다운/키업 이벤트를 추가해준다

2. CS코드에서 키다운/키업 함수에 키보드 입력을 받는 부분을 추가해준다

3. Ctrl+S를 동시에 눌렀을 때, 사용하고싶은 함수를 호출해준다

 



먼저 사용중인 Xaml의 텍스트 블럭에 키보드 이벤트를 추가해준다

나중에 줄바꿈이 되는 텍스트 박스 글쓰기 (AcceptsReturn="True")
<!--<TextBox x:Name="textBox" AcceptsReturn="True" KeyDown="textBox_KeyDown" />-->

xaml 코드

<TextBox x:Name="textBox" KeyDown="textBox_KeyDown" />



cs 코드
키보드 입력을 받을 때 필요한 using문과 키다운 이벤트를 추가해주었다

 

using System.Windows.Input;

private void textBox_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)
{
	if (e.Key == Key.S && Keyboard.Modifiers == ModifierKeys.Control)
  {                
      //ctrl+s 를 눌렀을 때 호출할 함수명
  }
}

 

마찬가지로 한가지의 키보드 입력만 받고싶을 때는 아래와 같이 진행하면 된다

using System.Windows.Input;

private void textBox_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)
{
	if (e.Key == Key.S)
  {                
      //S 를 눌렀을 때 호출할 함수명
  } else if (e.Key == Key.Enter)
  {
  	//텍스트 입력 후 엔터로 호출할 함수명
  }
  
}

위의 코드는 텍스트를 입력 후 엔터로 다음단계를 진행하고싶을 때 추가해준 방식이다

 

 

KeyDown 등의 키보드 이벤트에는 PreviewKeyDown과 그냥 KeyDown 2개의 키보드 이벤트가 있는데

두개의 차이는 이것을 작성하면서 찾아보았으므로 다음에 기록할 예정


위의 영역에서 Keyboard.Modifiers라는 부분을 궁금해서 찾아본 결과

모디파이어 키들은 Modifier keys (Ctrl, Alt and/or Shift) 각각 컨트롤, 알트, 시프트 키를 얘기한다고 한다





참고 : 

키보드 2개 입력 (ctrl + s)
https://stackoverflow.com/questions/26361441/how-do-i-detect-ctrl-s-in-a-window-in-c-my-eventargs-dont-have-e-modifiers


반응형
반응형

나중에 블로그에서 검색해보려고 여태 사용한 방식들 정리중으로

설명이 단조로우니 미리 주의바람

 

 

제이쿼리 사용함

js로도 사용이 가능하지만 DOM 접근하여 사용한 jquery 방식이 한결 간결하길래 이 방식으로 사용했다

 

심플하게 키보드 입력받는것만 올려본다

 

 

$(document).ready(function(){
       $("#test").keypress(function (e) {
        if (e.which == 13){
                   send();  // 실행할 이벤트 호출
        }
    });
});
<input type="text" name="" id="test" class="inp_st3" placeholder="메시지를 입력해주세요" />

#test -> id가 test인 input에 접근하여 keypress 시 특정 함수 호출되게끔 함

키보드 enter 클릭 시 전송 버튼을 클릭하지 않아도 입력한 내용이 자동으로 전달되게끔

 

 

아래 스택오버플로우에서는 keydown, keypress의 차이에 대해 자세한 설명이 있으니

시간날때 정독

 

stackoverflow.com/questions/1367700/whats-the-difference-between-keydown-and-keypress-in-net

 

What's the difference between KeyDown and KeyPress in .NET?

What is the difference between the KeyDown and KeyPress events in .net?

stackoverflow.com

www.javascripttutorial.net/javascript-dom/javascript-keyboard-events/

 

JavaScript Keyboard Events Explained

In this tutorial, you will learn how to work with JavaScript keyboard events including the keydown, keypress, and keyup events.

www.javascripttutorial.net

마찬가지로 자바스크립트에서 사용하는 키보드 이벤트 관련 내용 설명

반응형

+ Recent posts