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,038

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


 

[.NET] [สอบถาม] 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 : 1981 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#)
1.private void ImageProcessing_Paint(object sender, PaintEventArgs e)
2.{
3.    Graphics g = e.Graphics;
4.    g.DrawImage(imageHandler.CurrentBitmap, new Rectangle(this.AutoScrollPosition.X, this.AutoScrollPosition.Y, Convert.ToInt32(imageHandler.CurrentBitmap.Width * zoomFactor), Convert.ToInt32(imageHandler.CurrentBitmap.Height * zoomFactor)));
5. 
6.}


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
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#)
1.pictureBox1.ImageLocation = oDlg.FileName;
2.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#)
1.pictureBox1.ImageLocation = oDlg.FileName;
2.pictureBox1.SizeMode = PictureBoxSizeMode.Normal;



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


ออกรึป่าว ถ้าไม่ก็ยังเหมือนเดิมครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
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#)
01.public partial class ImageProcessing : Form
02.{
03.    OpenFileDialog oDlg;
04.    SaveFileDialog sDlg;
05.    double zoomFactor = 1.0;
06.    ToolStripMenuItem zoom = new ToolStripMenuItem();
07.    ImageHandler imageHandler = new ImageHandler();
08. 
09.    private void ImageProcessing_Load(object sender, EventArgs e)
10.    {
11. 
12.    }
13.    public ImageProcessing()
14.    {
15.        InitializeComponent();
16. 
17.        this.WindowState = FormWindowState.Maximized;
18. 
19.        oDlg = new OpenFileDialog(); // Open Dialog Initialization
20.        oDlg.RestoreDirectory = true;
21.        oDlg.InitialDirectory = "C:\\";
22.        oDlg.FilterIndex = 1;
23.        oDlg.Filter = "jpg Files (*.jpg)|*.jpg|gif Files (*.gif)|*.gif|png Files (*.png)|*.png |bmp Files (*.bmp)|*.bmp";
24.        /*************************/
25.        sDlg = new SaveFileDialog(); // Save Dialog Initialization
26.        sDlg.RestoreDirectory = true;
27.        sDlg.InitialDirectory = "C:\\";
28.        sDlg.FilterIndex = 1;
29.        sDlg.Filter = "jpg Files (*.jpg)|*.jpg|gif Files (*.gif)|*.gif|png Files (*.png)|*.png |bmp Files (*.bmp)|*.bmp";
30.        /*************************/
31.        zoom = menuItemZoom100; // Current Zoom Percentage = 100%
32. 
33.    }
34. 
35.    private void ImageProcessing_Paint(object sender, PaintEventArgs e)
36.    {
37.        Graphics g = e.Graphics;
38.    //    g.DrawImage(imageHandler.CurrentBitmap, new Rectangle(this.AutoScrollPosition.X, this.AutoScrollPosition.Y, Convert.ToInt32(imageHandler.CurrentBitmap.Width * zoomFactor), Convert.ToInt32(imageHandler.CurrentBitmap.Height * zoomFactor)));
39.    //    g.DrawImage(imageHandler.CurrentBitmap, new Rectangle(0, 25, Convert.ToInt32(imageHandler.CurrentBitmap.Width * zoomFactor), Convert.ToInt32(imageHandler.CurrentBitmap.Height * zoomFactor)));
40. 
41.    }
42.    private void pictureBox1_Paint(object sender, PaintEventArgs e)
43.    {
44.        Graphics g = e.Graphics;
45.        pictureBox1.ImageLocation = oDlg.FileName;
46.        pictureBox1.SizeMode = PictureBoxSizeMode.CenterImage;
47.    }
48.    private void menuItemOpen_Click_1(object sender, EventArgs e)
49.    {
50.        if (DialogResult.OK == oDlg.ShowDialog())
51.        {
52. 
53.            imageHandler.CurrentBitmap = (Bitmap)Bitmap.FromFile(oDlg.FileName);
54.            imageHandler.BitmapPath = oDlg.FileName;
55.            this.AutoScroll = true;
56.            this.AutoScrollMinSize = new Size(Convert.ToInt32(imageHandler.CurrentBitmap.Width * zoomFactor), Convert.ToInt32(imageHandler.CurrentBitmap.Height * zoomFactor));
57.            this.Invalidate();
58.            menuItemImageInfo.Enabled = true;
59.            ImageInfo imgInfo = new ImageInfo(imageHandler);
60.            imgInfo.Show();
61.    //        pictureBox1.ImageLocation = oDlg.FileName;
62.    //        pictureBox1.SizeMode = PictureBoxSizeMode.Normal;
63.        }
64.    }

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



ประวัติการแก้ไข
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#)
01.//
02.         this.Controls.Add(this.panel1);
03.           // panel1
04.           //
05.           this.panel1.AutoScroll = true;
06.           this.panel1.Controls.Add(this.pictureBox1);
07.           this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
08.           //
09.           // pictureBox1
10.           //
11.           this.pictureBox1.Image = global::WindowsFormsApplication2.Properties.Resources._01005459;
12.           this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
13.           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#)
1.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 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)





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