相关疑难解决方法(0)

在winforms文本框内的按钮

winforms文本框是否有任何属性可以在框的末尾创建一个嵌入式按钮?

类似Chrome地址框中的收藏夹按钮:

在此输入图像描述

我在一些Excel表单中也看到过如下内容:

在此输入图像描述


编辑

我跟随Hans Passant的回答添加了一个click事件处理程序,它似乎工作正常:

protected override void OnLoad(EventArgs e) {
    var btn = new Button();
    btn.Size = new Size(25, textBoxFolder.ClientSize.Height + 2);
    btn.Location = new Point(textBoxFolder.ClientSize.Width - btn.Width, -1);
    btn.Cursor = Cursors.Default;
    btn.Image = Properties.Resources.arrow_diagright;
    btn.Click += btn_Click;     
    textBoxFolder.Controls.Add(btn);
    // Send EM_SETMARGINS to prevent text from disappearing underneath the button
    SendMessage(textBoxFolder.Handle, 0xd3, (IntPtr)2, (IntPtr)(btn.Width << 16));
    base.OnLoad(e);
}

[System.Runtime.InteropServices.DllImport("user32.dll")]
private static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wp, IntPtr lp);

private void btn_Click(object sender, EventArgs e) { …
Run Code Online (Sandbox Code Playgroud)

.net c# winforms

35
推荐指数
3
解决办法
3万
查看次数

标签 统计

.net ×1

c# ×1

winforms ×1