zoukankan      html  css  js  c++  java
  • winform模拟qq聊天界面的小功能textbox1输入自动跳到textbox2

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Runtime.InteropServices;

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

    protected override void WndProc(ref Message m)
    {
    const int WM_CHAR = 0x0102;
    const int WM_USER = 0x0400;
    const int WM_USER1 = WM_USER + 1;
    switch (m.Msg)
    {
    case WM_USER1:
    textBox1.Focus();
    IntPtr hwnd = textBox1.Handle;
    WinAPI.SendMessage(hwnd, WM_CHAR, (int)m.WParam, 0);
    break;
    }
    base.WndProc(ref m);
    }
    }

    class MyTextBox : TextBox
    {
    protected override void WndProc(ref Message m)
    {
    const int WM_CHAR = 0x0102;
    const int WM_PAINT = 0x000F;
    const int WM_USER = 0x0400;
    const int WM_KEYDOWN= 0x0100;
    const int WM_IME_CHAR = 0x0286;
    const int WM_IME_COMPOSITION = 0x010F;
    switch (m.Msg)
    {
    case WM_CHAR:
    {
    int key = (int)m.WParam;
    IntPtr hwnd = WinAPI.FindWindow("WindowsForms10.Window.8.app.0.2bf8098_r13_ad1", null);
    WinAPI.SendMessage(hwnd, WM_USER + 1, (int)m.WParam, 0);
    }
    return;
    //case WM_IME_CHAR:
    // MessageBox.Show("a");
    // break;
    //case WM_KEYDOWN:
    // {
    // IntPtr hwnd = WinAPI.FindWindow("WindowsForms10.Window.8.app.0.2bf8098_r13_ad1", null);
    // int code = (int)m.WParam;
    // WinAPI.SendMessage(hwnd, WM_USER + 1, code, 0);
    // }
    // return;
    case WM_IME_COMPOSITION:
    {
    IntPtr hwnd = WinAPI.FindWindow("WindowsForms10.Window.8.app.0.2bf8098_r13_ad1", null);
    int code = (int)m.WParam;
    WinAPI.SendMessage(hwnd, WM_USER + 1, code, 0);
    }
    return;
    //case WM_PAINT:
    ////MessageBox.Show("aa");
    // break;
    }
    base.WndProc(ref m);
    }
    }
    }



    记录下,备忘~

    就是要把上面那个textbox的WndProc重写下,然后消息拦截下就ok了。。

  • 相关阅读:
    Qt编写数据可视化大屏界面电子看板4-布局另存
    Qt编写数据可视化大屏界面电子看板3-新建布局
    Qt编写数据可视化大屏界面电子看板2-配色方案
    Qt编写数据可视化大屏界面电子看板1-布局方案
    Qt编写自定义控件19-图片背景时钟
    Qt编写自定义控件18-魔法小鱼
    AngularJS概述-3D
    controller与requestmapping
    Maven pom.xml 报 Missing artifact jdk.tools:jdk.tools:jar:1.7
    大数据究竟是什么
  • 原文地址:https://www.cnblogs.com/knightluffy/p/2301848.html
Copyright © 2011-2022 走看看