Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > [สอบถาม] C# Lock MenuStrip ไม่ให้ขยับตาม scroll bar



 

[สอบถาม] C# Lock MenuStrip ไม่ให้ขยับตาม scroll bar

 



Topic : 123340



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์




สอบถามครับ
เราจะ Lock MenuStrip ไม่ให้ขยับตาม Scroll Bar ยังไงครับ

ก่อนขยับ

be

หลังขยับ
af



Tag : .NET, Win (Windows App), C#







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2016-06-14 15:36:49 By : Bankmochi View : 1906 Reply : 20
 

 

No. 1



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

MenuStrip มันรวมใน picturebox รึ ครับ

ทำไมมันขยับได้






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-14 16:53:09 By : lamaka.tor
 


 

No. 2



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : lamaka.tor เมื่อวันที่ 2016-06-14 16:53:09
รายละเอียดของการตอบ ::
ผมไม่ได้ใช้ picturebox อะครับ ข้างล่างคือคำสั่ง การแสดงภาพ
Code (C#)
        private void ImageProcessing_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;
            g.DrawImage(imageHandler.CurrentBitmap, new Rectangle(this.AutoScrollPosition.X, this.AutoScrollPosition.Y, Convert.ToInt32(imageHandler.CurrentBitmap.Width * zoomFactor), Convert.ToInt32(imageHandler.CurrentBitmap.Height * zoomFactor)));
        
        }


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-14 17:14:17 By : Bankmochi
 

 

No. 3



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

งั้นตอบโจทย์ครับ

ใช้ picturebox เลยครับ

เขียนลงใน ฟอร์ม แบบนี้น่าจะซ่อมกันยาว
มันจะ Paint แบบนั้นตลอดตอนที่เราขยับเม้าเลื่อน

แต่ถ้า picturebox ไม่น่าจะมีปัญหาครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-14 17:48:27 By : lamaka.tor
 


 

No. 4



โพสกระทู้ ( 151 )
บทความ ( 0 )



สถานะออฟไลน์


แนะนำให้ใส่ใน PictureBox ครับ กรณีนี้ถ้าให้เดา this ก็คือ Form มันเลยไปแทนที่ Location ของ MenuStrip
ก้แค่เปลี่ยน จาก this ไปเป็น ไอดีของ PictureBox แทนครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-14 17:49:10 By : taotechnocom
 


 

No. 5



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 3 เขียนโดย : lamaka.tor เมื่อวันที่ 2016-06-14 17:48:27
รายละเอียดของการตอบ ::
ผมลอง picturebox แล้วครับ
ผมเพิ่มคำสั่ง
Code (C#)
                pictureBox1.ImageLocation = oDlg.FileName;
                pictureBox1.SizeMode = PictureBoxSizeMode.Normal; 


ผลปรากฎว่าเลื่อนตามเหมือนเดิม หรือผมต้องใส่คำสั่งแบบอื่นครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-15 09:00:57 By : Bankmochi
 


 

No. 6



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 4 เขียนโดย : taotechnocom เมื่อวันที่ 2016-06-14 17:49:10
รายละเอียดของการตอบ ::
ลองดูแล้วครับเหมือนเดิมเลย ครับ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-15 09:02:48 By : Bankmochi
 


 

No. 7



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

โค้ดทั้งหมดตอนนี้เป็นไงมั่งครับ

วิธีบ้านๆอีกวิธี(ไม่ได้ด้วยเล่ห์ ก็ต้องเอาด้วยกรน 5555)

ใช้ panel แล้ว set panel ให้เป็น Dock ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-15 10:11:55 By : lamaka.tor
 


 

No. 8



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

เด๋วก่อนนะ
เพิ่ม
Code (C#)
pictureBox1.ImageLocation = oDlg.FileName;
pictureBox1.SizeMode = PictureBoxSizeMode.Normal; 



แล้วลบ
Code (C#)
private void ImageProcessing_Paint(object sender, PaintEventArgs e)
{
    Graphics g = e.Graphics;
    g.DrawImage(imageHandler.CurrentBitmap, new Rectangle(this.AutoScrollPosition.X, this.AutoScrollPosition.Y, Convert.ToInt32(imageHandler.CurrentBitmap.Width * zoomFactor), Convert.ToInt32(imageHandler.CurrentBitmap.Height * zoomFactor)));

}


ออกรึป่าว ถ้าไม่ก็ยังเหมือนเดิมครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-15 10:45:13 By : lamaka.tor
 


 

No. 9



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์


ผมสงสัยอย่างหนึ่งครับ สมมุติเรากำหนด size ของ picturebox ไว้ที่ 500,500
แต่รูปมีขนาด 1024*768 ผมอยากให้ size ของ picturebox ยืด-หด ตาม size ของภาพที่เราเปิดมาแสดง ต้อง set ยังไงครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-15 10:46:57 By : Bankmochi
 


 

No. 10



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 8 เขียนโดย : lamaka.tor เมื่อวันที่ 2016-06-15 10:45:13
รายละเอียดของการตอบ ::
ลบครับ ให้มันแสดงภาพ จาก picturebox แทน ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-15 10:48:14 By : Bankmochi
 


 

No. 11



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 7 เขียนโดย : lamaka.tor เมื่อวันที่ 2016-06-15 10:11:55
รายละเอียดของการตอบ ::
ตัวอย่างคร่าวๆครับ
อันทีจริงผมก็เอาของคนอื่นมาแปลงอีกที่ **แต่ของเค้าไม่เลื่อนตาม scroll bar
Code (C#)
    public partial class ImageProcessing : Form
    {
        OpenFileDialog oDlg;
        SaveFileDialog sDlg;
        double zoomFactor = 1.0;
        ToolStripMenuItem zoom = new ToolStripMenuItem();
        ImageHandler imageHandler = new ImageHandler();

        private void ImageProcessing_Load(object sender, EventArgs e)
        {

        }
        public ImageProcessing()
        {
            InitializeComponent();

            this.WindowState = FormWindowState.Maximized;

            oDlg = new OpenFileDialog(); // Open Dialog Initialization
            oDlg.RestoreDirectory = true;
            oDlg.InitialDirectory = "C:\\";
            oDlg.FilterIndex = 1;
            oDlg.Filter = "jpg Files (*.jpg)|*.jpg|gif Files (*.gif)|*.gif|png Files (*.png)|*.png |bmp Files (*.bmp)|*.bmp";
            /*************************/
            sDlg = new SaveFileDialog(); // Save Dialog Initialization
            sDlg.RestoreDirectory = true;
            sDlg.InitialDirectory = "C:\\";
            sDlg.FilterIndex = 1;
            sDlg.Filter = "jpg Files (*.jpg)|*.jpg|gif Files (*.gif)|*.gif|png Files (*.png)|*.png |bmp Files (*.bmp)|*.bmp";
            /*************************/
            zoom = menuItemZoom100; // Current Zoom Percentage = 100%

        }

        private void ImageProcessing_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;
        //    g.DrawImage(imageHandler.CurrentBitmap, new Rectangle(this.AutoScrollPosition.X, this.AutoScrollPosition.Y, Convert.ToInt32(imageHandler.CurrentBitmap.Width * zoomFactor), Convert.ToInt32(imageHandler.CurrentBitmap.Height * zoomFactor)));
        //    g.DrawImage(imageHandler.CurrentBitmap, new Rectangle(0, 25, Convert.ToInt32(imageHandler.CurrentBitmap.Width * zoomFactor), Convert.ToInt32(imageHandler.CurrentBitmap.Height * zoomFactor)));

        }
        private void pictureBox1_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;
            pictureBox1.ImageLocation = oDlg.FileName;
            pictureBox1.SizeMode = PictureBoxSizeMode.CenterImage; 
        }
        private void menuItemOpen_Click_1(object sender, EventArgs e)
        {
            if (DialogResult.OK == oDlg.ShowDialog())
            {

                imageHandler.CurrentBitmap = (Bitmap)Bitmap.FromFile(oDlg.FileName);
                imageHandler.BitmapPath = oDlg.FileName;
                this.AutoScroll = true;
                this.AutoScrollMinSize = new Size(Convert.ToInt32(imageHandler.CurrentBitmap.Width * zoomFactor), Convert.ToInt32(imageHandler.CurrentBitmap.Height * zoomFactor));
                this.Invalidate();
                menuItemImageInfo.Enabled = true;
                ImageInfo imgInfo = new ImageInfo(imageHandler);
                imgInfo.Show();
        //        pictureBox1.ImageLocation = oDlg.FileName;
        //        pictureBox1.SizeMode = PictureBoxSizeMode.Normal; 
            }
        }

ปล.ผมไม่อยากเอาของเค้ามาใช้เลยผมอยากลองเขียนเองจะได้เข้าใจการทำงานไปด้วยอะครับ



ประวัติการแก้ไข
2016-06-15 11:02:19
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-15 11:01:14 By : Bankmochi
 


 

No. 12



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ได้แล้วครับ
วิธีแสนบ้านๆ กว่าที่คิดเยอะ
1. เพิ่ม panel1 ใน ฟอร์ม
2. เพิ่ม pictureBox1 ลงใน panel1

Code (C#)
 // 
          this.Controls.Add(this.panel1);
            // panel1
            // 
            this.panel1.AutoScroll = true;
            this.panel1.Controls.Add(this.pictureBox1);
            this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
            // 
            // pictureBox1
            // 
            this.pictureBox1.Image = global::WindowsFormsApplication2.Properties.Resources._01005459;
            this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
            this.pictureBox1.Dock = System.Windows.Forms.DockStyle.None;


555


ประวัติการแก้ไข
2016-06-15 11:46:58
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-15 11:38:59 By : lamaka.tor
 


 

No. 13



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 12 เขียนโดย : lamaka.tor เมื่อวันที่ 2016-06-15 11:38:59
รายละเอียดของการตอบ ::
ขอบคุณครับลองดูแล้วครับ menubar ไม่เลื่อนแล้ว แต่ผมก็ใช่ scroll bar เลื่อน ขึ้น-ลงไม่ได้ ต้องเอาเม้าไปคลิกลาก ขึ้น-ลงแทน
พอจะมีวิธีที่ใช้ scrall bar เลื่อนขึ้น-ลง แทนการใช้เม้าลากไหมครับ

ขอบคุณอีกครั้งสำหรับวิธีข้างต้น

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-15 13:41:52 By : Bankmochi
 


 

No. 14



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

แต่ผมก็ใช่ scroll bar เลื่อน ขึ้น-ลงไม่ได้


scroll bar ที่เห็นเป็นของ panel1 ครับ ถ้าจะใช้ scroll bar ที่เม้าส ต้องเขียนดักไว้ที่
pictureBox1 ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-15 13:59:33 By : lamaka.tor
 


 

No. 15



โพสกระทู้ ( 242 )
บทความ ( 0 )



สถานะออฟไลน์


ลองใช้ tablelayoutpanel มาช่วยดีไหมครับ ?


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-15 14:10:38 By : bigsuntat
 


 

No. 16



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 15 เขียนโดย : bigsuntat เมื่อวันที่ 2016-06-15 14:10:38
รายละเอียดของการตอบ ::
ไม่น่าช่วยนะครับ

มุ่งไปที่การเลื่อนเม้าสใน pictureBox น่าจะโอกว่า



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-15 14:18:13 By : lamaka.tor
 


 

No. 17



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์


ครับตามคุณ lamaka.tor เลยครับตอนนี้ผมติดตรง scroll bar อยู่ส่วนเดียวก็จะจบในการทำงานนี้

ภาพตอน Full screen
full

ภาพตอน ย่อ
nofull


ติดอย่างเดียวตอนนี้ครับ อยากใช้ scroll เม้าเลื่อนแทนการคลิกลาก ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-15 14:47:49 By : Bankmochi
 


 

No. 18



โพสกระทู้ ( 242 )
บทความ ( 0 )



สถานะออฟไลน์


ผมได้วิธีแล้วครับ ใช้ ToolBox ที่ชื่อว่า Mainmenu ครับ ใช้ Code เดิมที่เราประยุกต์มาจากโปรเจ็คตัวอย่างได้เลยครับ

1. Click ขวา พื้นที่ว่างๆ ของ ToolBox ตามข้อ 1 ดังรูป
2. ติ๊กถูกที่ Mainmenu
3. กด OK

และก็ลาก Mainmenu มาใช้ครับ

mainmenu


ขอขอบคุณ
http://www.codeproject.com/Articles/33838/Image-Processing-using-C

Ureka ^^
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-16 03:24:50 By : bigsuntat
 


 

No. 19



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 18 เขียนโดย : bigsuntat เมื่อวันที่ 2016-06-16 03:24:50
รายละเอียดของการตอบ ::

ผมก็หาตั้งนาน ว่า Mainmenu อยู่ตรงไหน อ่อต้องไปหาแบบนี้เอง ขอบคุณมากครับ ตอนนี้ เรื่อง menubar scroll bar ก็จบไปแล้ว

ผมสงสัยอย่างหนึ่งครับ รูปที่เราจะเเสดงมันมีขนาด 1024*768 แต่ผมอยากให้มันแสดงเล็กลง (Resize) หรือ ขยายให้ใหญ่ขิ้น
ผมต้องไปตั้งค่าอะไรตรงไหนครับ เพราะผมลองตั้ง ตาม code รูปไม่ย่อแต่ picturebox ย่อแทน

*Resize ในที่นี้คือ ภาพเดิมแต่เล็กลง ไม่ใช่เห็นแค่ 1/4 ของภาพ
*Upsize ในที่นี่้คือ ภาพเดิมใหญ่ขี้น เหมือนกับเรา zoom ครับ
Code (C#)
            this.pictureBox1.Size = new System.Drawing.Size(Convert.ToInt32(imageHandler.CurrentBitmap.Width * 0.5), Convert.ToInt32(imageHandler.CurrentBitmap.Height * 0.5));



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-16 09:36:03 By : Bankmochi
 


 

No. 20



โพสกระทู้ ( 242 )
บทความ ( 0 )



สถานะออฟไลน์


โปรแกรมที่คุณ ดูตัวอย่างให้ codeproject มันบอกหมดทุกอย่างแล้วนะครับที่เหลือ ก็คือ ประยุกต์ใช้งานให้เป็น ผมก็เอามาจาก codeproject มาประยุกต์ code ส่งให้คุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-06-18 04:10:04 By : bigsuntat
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : [สอบถาม] C# Lock MenuStrip ไม่ให้ขยับตาม scroll bar
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่