有没有办法聚焦(标签控制)图片框?

时间:2010-06-26 04:55:43

标签: c# .net winforms

我正在使用C#开发.NET 2.0。从文本框中按选项卡后如何将控件对焦到图片框?请给我一个解决方案。

3 个答案:

答案 0 :(得分:5)

Picturebox控件不是可选控件,因此它不会获得焦点。即使您尝试在表单加载上设置tabindex和tabstop属性,它也无法获得焦点。

为什么要将焦点设置到picturebox?您是否将此控件的click事件用作按钮单击事件?

您能否就此提供更多细节,以便我们为此提供合适的解决方案?

答案 1 :(得分:3)

创建一个button1,然后将其TabIndex设置为小于pictureBox1的;将button1放在pictureBox1的顶部。然后在运行时将其隐藏在pictureBox1后面。要给出pictureBox具有焦点的视觉提示,请将BorderStyle设置为Fixed3d,在失去焦点时将其设置为none。

概念证明:

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;

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

            button1.SendToBack();

            pictureBox1.Click += button1_Click;
        }

        private void button1_Enter(object sender, EventArgs e)
        {
            pictureBox1.BorderStyle = BorderStyle.Fixed3D;
        }

        private void button1_Leave(object sender, EventArgs e)
        {
            pictureBox1.BorderStyle = BorderStyle.None;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Test");
        }

    }
}

答案 2 :(得分:1)

您需要将PictureBox括在可以接收点击事件的控件中。