代码之家  ›  专栏  ›  技术社区  ›  mahesh

检测面板中的Autoscrollposition值更改

  •  0
  • mahesh  · 技术社区  · 14 年前

    如何检测panel1中的Autoscrollposition值是否更改?

    文本框1和文本框2。

    我只对检测面板autoscrollposition的值何时更改感兴趣。

    以上是递增的动态文本框。

    正在使用的软件:C#,Visual Studio 2005。

    1 回复  |  直到 14 年前
        1
  •  1
  •   mahesh    14 年前

    1. 列表框1
    2. 列表框2
    3. 面板
    4. 按钮。

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

    以下是完整的解决方案代码:

    namespace detectpanelvalue
    {
    
    public partial class Form1 : Form
    
    {
    
        private Point tbpoint  = new Point(10, 14);
    
        private Point tbbpoint = new Point(300, 14);
    
        private ArrayList arylst;
    
        private ArrayList arylst1;
    
        public Form1()
        {
            InitializeComponent();
        }
    
        private void Form1_Load(object sender, EventArgs e)
        {
            panel1.Paint += new PaintEventHandler(panel1_Paint);
    
        }
    
        void panel1_Paint(object sender, PaintEventArgs e)
        {
            System.Drawing.Point pnlpt;
            pnlpt = panel1.AutoScrollPosition;
            if (tbpoint !=null  || pnlpt != null ) 
            {
                pnlpt = tbpoint;
            }
            arylst1 = new ArrayList();
            arylst1.Add(pnlpt);
    
        }
    
        private void runtime() 
        {
            foreach (Point pt in arylst) 
            {
                listBox1.Items.Add(pt);
    
            }
    
            foreach (Point ptt in arylst1) 
            {
                listBox2.Items.Add(ptt);
    
            }
        }
    
    
        private void button1_Click(object sender, EventArgs e)
        {
            TextBox tb = new TextBox();
            tb.Location = tbpoint;
            this.panel1.Controls.Add(tb);
            tbpoint.Y += 30;
            TextBox bb = new TextBox();
            bb.Location = tbbpoint;
            this.panel1.Controls.Add(bb);
            tbbpoint.Y += 30;
            arylst = new ArrayList();
            arylst.Add(tbpoint);
            runtime();
    
        }
    }
    }