C# 如何添加自定义键盘处理事件 如何配置app.config ? | csharp key press event t

时间:2023-01-24 18:26:19

本文首发于个人博客https://kezunlin.me/post/9f24ebb5/,欢迎阅读最新内容!

csharp key press event tutorial and app.config

Guide

MainForm

 protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
        {
            //System.Console.WriteLine("ProcessCmdKey "   cur_image_id);

            //capture up arrow key
            if (keyData == Keys.Left)
            {
                //this.button_prev.PerformClick();
                button_prev_click();

                return true;
            }
            else if (keyData == Keys.Right)
            {
                //System.Console.WriteLine("Enter " cur_image_id);

                //this.button_ok.PerformClick();
                button_ok_click();

                return true;
            }
            
            return base.ProcessCmdKey(ref msg, keyData); // trigger 2 button_ok_click
        }

TextBox

private void textBox_index_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                //enter key is down
                button_goto_click();
            }
        }

app.config

app.config.xml

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
    </startup>
    <appSettings>
      <add key="image_extension" value="png" />
      <add key="output_filepath" value="./output.json" />
    </appSettings>
</configuration>

usage

reference System.Configuration.dll

using System.Configuration;

private void init_config()
        {
            var appSettings = System.Configuration.ConfigurationManager.AppSettings;
            string image_ext = "*."  appSettings["image_extension"];
            string output_filepath = appSettings["output_filepath"];
        }

Reference

History

  • 20190919: created.

Copyright