c#winfrom两个面板之间 [英] c# winfrom between two panels

查看:63
本文介绍了c#winfrom两个面板之间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

hi,

  private   void  panel1_MouseClick( object  sender,MouseEventArgs e)
{
if (e。 Button == MouseButtons.Right)
{
ColorDialog cd = new ColorDialog();
if (cd.ShowDialog()== DialogResult.OK)
{
这个 .panel3.BackColor = cd.Color;
}
}
}



这没关系。

现在我在两个之间拖放小组

<前lang =cs> 私人 void panel1_MouseDown(< span class =code-keyword> object sender,MouseEventArgs e)
{
Panel pnl = sender as Panel;
if (pnl!= null
pnl.DoDragDrop(pnl.BackColor ,DragDropEffects.Move);
}

private void panel2_DragDrop( object sender,DragEventArgs e)
{
var data = e.Data.GetData( typeof运算(彩色));

if (data!= null
((面板)sender).BackColor =(Color)数据;
}

private void panel2_DragEnter( object sender,DragEventArgs e)
{
e.Effect = DragDropEffects.Move;
}





这也工作正常但问题是拖放代码应用后面板1鼠标点击是(右键单击)没有工作



帮助我。

解决方案

嗨Mukul Lad



更改panel1鼠标按下事件



  if (e.Button!= MouseButtons.Right)
{

Panel pnl = sender as Panel;
if (pnl!= null
pnl.DoDragDrop(pnl.BackColor ,DragDropEffects.Move);
}







快乐编码。


hi,

private void panel1_MouseClick(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
            {
                ColorDialog cd = new ColorDialog();
                if (cd.ShowDialog() == DialogResult.OK)
                {
                    this.panel3.BackColor = cd.Color;
                }
            }
        }


this is ok.
now i applyed drag and drop between two panels

private void panel1_MouseDown(object sender, MouseEventArgs e)
        {
            Panel pnl = sender as Panel;
            if (pnl != null)
                pnl.DoDragDrop(pnl.BackColor, DragDropEffects.Move);
        }

        private void panel2_DragDrop(object sender, DragEventArgs e)
        {
            var data = e.Data.GetData(typeof(Color));

            if (data != null)
                ((Panel)sender).BackColor = (Color)data;
        }

        private void panel2_DragEnter(object sender, DragEventArgs e)
        {
            e.Effect = DragDropEffects.Move;
        }



this is also work fine but problem is after drag and drop code is applied panel1 mouse click is (right click) is not worked

help me.

解决方案

Hi Mukul Lad

change in panel1 mouse down events

if (e.Button != MouseButtons.Right)
            {

                Panel pnl = sender as Panel;
                if (pnl != null)
                    pnl.DoDragDrop(pnl.BackColor, DragDropEffects.Move);
            }




happy coding.


这篇关于c#winfrom两个面板之间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆