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了。。

  • 相关阅读:
    pat1038. Recover the Smallest Number (30)
    pat1037. Magic Coupon (25)
    pat1036. Boys vs Girls (25)
    pat1031. Hello World for U (20)
    pat1030. Travel Plan (30)
    pat1028. List Sorting (25)
    pat1027. Colors in Mars (20)
    pat1017. Queueing at Bank (25)
    pat1025. PAT Ranking (25)
    Reverse Linked List II
  • 原文地址:https://www.cnblogs.com/knightluffy/p/2301848.html
Copyright © 2011-2022 走看看