0 امتیاز

سلام دوستان..من یک پروژه ساده ایجاد کردم با استفاده از TRACKbar و یک picturtebox..

به این صورت...
​هر قدر مقدار این trackbar زیاد میشه ، این عکس به طرف راست حرکت میکنه..حالا مشکل اینجاست که اگر عکس بیش از حد حرکت بکنه از فرم خارج میشه
نمیشه کاری کرد که اگر به لبه سمت راست فرم رسید، دیگه عکس حرکت نکنه و یا به نوعی stop بشه​؟؟؟؟

کدتونو بذارین تا بررسی کنم
توسط (3,483 امتیاز) 6 13 87

3 پاسخ

+2 امتیاز

سلام دوست عزیز

برای رفع اشکال میباست کدهای خودتونو داخل پست میزاشتید

اما بهر حال  برای میبایست برای خارج نشدن عکس در این موضوع چند گزینه را باید مد نظر داشته باشی

ابتدا

از پروپرتی های ترک بارتنظیم گزینه maximum  

و تنظیمات خود picbox

اینم لینک پروژه  http://s8.picofile.com/file/8319291368/picbox_trackbar.rar.html

namespace picbox_trackbar
{
    public partial class Form1 : Form
    {
       
        public Form1()
        {

            InitializeComponent();
            
        }

        private void Form1_Load(object sender, EventArgs e)
        {
         trackBar1.Value = pictureBox1.Size.Width;
       trackBar2.Value = pictureBox1.Size.Height;
            pictureBox1.Left = (this.ClientSize.Width - pictureBox1.Width) / 2;
            pictureBox1.Top = (this.ClientSize.Height - pictureBox1.Height) / 2;
        }



        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog opf = new OpenFileDialog();
         
            opf.Filter = "Choose Image(*.jpg;*.png;*.gif)|*.jpg;*.png;*.gif";

            if (opf.ShowDialog() == DialogResult.OK)
            {
                // درج تصویر 
                pictureBox1.Image = Image.FromFile(opf.FileName);
            }
        }

        private void trackBar1_Scroll(object sender, EventArgs e)
        {
            pictureBox1.Size = new Size(trackBar1.Value, pictureBox1.Size.Height);
            pictureBox1.Left = (this.ClientSize.Width - pictureBox1.Width) / 2;
            pictureBox1.Top = (this.ClientSize.Height - pictureBox1.Height) / 2;
        }

        private void trackBar2_Scroll(object sender, EventArgs e)
        {
            pictureBox1.Size = new Size(pictureBox1.Size.Width, trackBar2.Value);
            pictureBox1.Left = (this.ClientSize.Width - pictureBox1.Width) / 2;
            pictureBox1.Top = (this.ClientSize.Height - pictureBox1.Height) / 2;
        }
    }
}

 

ببینید ایا این چیزیه که دنبالش هستین

http://s8.picofile.com/file/8319882184/source.zip.html

 

توسط (7,164 امتیاز) 4 7 141

خیر، اول این سوال رو دوست عزیز با نام کاربری Vmnet1  پرسیدن و منم کنجکاو شدم که یادش بگیرم. شما کلا و به احتمال زیاد سوال رو اشتباه متوجه شدین. همین کدی که بنده نوشتم رو با trackbar نه scrollbar میخواد پیاده سازی کنه، یه کنترل picturebox که به سمت راست و چپ ((حرکت)) میکنه. اندازه کل picturebox فرض کنید 100*100 ه و اندازه مثلا فرم 600*600 و این پیکچر باکس قراره با trackbar به سمت چپ و راست حرکت کنه

توسط (3,483 امتیاز) 6 13 87
+2 امتیاز

شما این فیلم رو ببینید از پروژه گرفتم ببین منظورتون اینه

 

تو حین اجرا که از لبه ها خارج نشد

 

http://s8.picofile.com/file/8319883250/Main_2018_02_20_11_26_23.mp4.html

 

 

 

خب این درسته، ولی من تو فیلم trackbar ی ندیدم، شکل زیر رو ببینید، با چپ و راست کردن trackbar میخوام این پیکچر باکس حرکت کنه نه با تایمر

توسط (3,483 امتیاز) 6 13 87
+2 امتیاز

دوست عزیز 

کدهاتونو اصلاح کردم و به 2 رش میتوین تصویر رو حرکت بدید اول

با موس میتوین هرجای فرم خواستین عکس رو منتقل کنین

بعدی هم که روش خودتونه و ایدفعه تصویر از فرم خارج نمیشه امیدوارم مورد استفادتون واقع بشه

 

http://s9.picofile.com/file/8319898784/trackbar_pic.rar.html

 

 

سلام، بسیار بسیار ممنون بابت پیگیریتون،

ولی بازم کد ایراد داره، درسته از فرم بیرون نمیزنه ولی من میخوام وقتی که trackbar رو کامل به سمت راست کشیدم، پیکچر باکس هم همزمان به انتهای سمت راست بیاد و وقتی trackbar رو به سمت چپ کشیدم پیکچرباکس هم همزمان به سمت چپ فرم بیاد، در حالی که تو کدی که شما نوشتین وقتی که trackbar کامل به سمت مثلا راست میاد، پیکچر باکس تقریبا یه مسیر رفت و برگشت رو طی می کنه.

پس در نهایت من اینو میخوام که با کشیده شدن trackbar به سمت راست ، پیکچرباکس به انتهای سمت راست فرم بیاد و با کشیده شدن trackbar به سمت چپ، پیکجر باکس به سمت چپ کشیده بشه و به انتهاش برسه
توسط (3,483 امتیاز) 6 13 87
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,919 کاربر

دسته بندی ها

...