इस विधि एक ग्राफिक्स वस्तु (VB कोड) पर एक गोलाकार आयत भर देता है:
Public Sub FillRoundedRectangle(ByVal g As Drawing.Graphics, ByVal r As Rectangle, ByVal d As Integer, ByVal b As Brush)
Dim mode As Drawing2D.SmoothingMode = g.SmoothingMode
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighSpeed
g.FillPie(b, r.X, r.Y, d, d, 180, 90)
g.FillPie(b, r.X + r.Width - d, r.Y, d, d, 270, 90)
g.FillPie(b, r.X, r.Y + r.Height - d, d, d, 90, 90)
g.FillPie(b, r.X + r.Width - d, r.Y + r.Height - d, d, d, 0, 90)
g.FillRectangle(b, CInt(r.X + d/2), r.Y, r.Width - d, CInt(d/2))
g.FillRectangle(b, r.X, CInt(r.Y + d/2), r.Width, CInt(r.Height - d))
g.FillRectangle(b, CInt(r.X + d/2), CInt(r.Y + r.Height - d/2), CInt(r.Width - d), CInt(d/2))
g.SmoothingMode = mode
End Sub
इस फ़ंक्शन को कॉल करें, picturebox का रंग घटना को संभालने और पारित e.Graphics पहले तर्क के रूप में आपत्ति करने के लिए, और अगर आप आयत को अपने चित्र बॉक्स को भरने के लिए चाहते हैं तो दूसरे तर्क के रूप में पिक्चरबॉक्स की सीमाएं।
घ पैरामीटर कोनों 'कोण बदल जाता है, मैं 30 के एक मूल्य से कॉल करने के लिए, आप विभिन्न मूल्यों की कोशिश कर सकते हैं ...
इसके अलावा, यहां (भरने के बजाय) आकर्षित करने के लिए एक गोलाकार आयत कुछ कोड है:
Public Sub DrawRoundedRectangle(ByVal g As Drawing.Graphics, ByVal r As Rectangle, ByVal d As Integer, ByVal p As Pen)
g.DrawArc(p, r.X, r.Y, d, d, 180, 90)
g.DrawLine(p, CInt(r.X + d/2), r.Y, CInt(r.X + r.Width - d/2), r.Y)
g.DrawArc(p, r.X + r.Width - d, r.Y, d, d, 270, 90)
g.DrawLine(p, r.X, CInt(r.Y + d/2), r.X, CInt(r.Y + r.Height - d/2))
g.DrawLine(p, CInt(r.X + r.Width), CInt(r.Y + d/2), CInt(r.X + r.Width), CInt(r.Y + r.Height - d/2))
g.DrawLine(p, CInt(r.X + d/2), CInt(r.Y + r.Height), CInt(r.X + r.Width - d/2), CInt(r.Y + r.Height))
g.DrawArc(p, r.X, r.Y + r.Height - d, d, d, 90, 90)
g.DrawArc(p, r.X + r.Width - d, r.Y + r.Height - d, d, d, 0, 90)
End Sub
हे मेटा -क्राइट आपके बिजली के लिए बहुत कुछ धन्यवाद! : डी कोड बहुत अच्छी तरह से काम कर रहा है। बस एक और सवाल, अगर मैं इसे तुरंत पेंट नहीं करना चाहता हूं तो मैं कैसे कर सकता हूं, लेकिन केवल तभी जब कोई निश्चित स्थिति में हो? क्या मुझे इस मामले में पेंट इवेंट का भी उपयोग करना चाहिए? – Drake
आप अपनी कक्षा में एक बूलियन वैल्यू प्राप्त कर सकते हैं (मान लीजिए कि इसे मस्तपेंट कहा जाता है) जिसे आप आयत को पेंट करने के लिए सेट करते हैं, तो आप पेंट इवेंट में एक शर्त जोड़ सकते हैं: यदि आवश्यक हो तो [पेंट गोलाकार आयताकार] अंत यदि –
ठीक है, तो मैं इसे आज़माउंगा, धन्यवाद – Drake