मुझे पता था कि उत्तर ग्राफिक ऑब्जेक्ट और पेंट इवेंट में कहीं छिपा हुआ है, इन 2 कीवर्ड के साथ खेलने से मेरी समस्या हल हो गई है। यहां वह समाधान है जो मेरे विशेष मामले में काम करता है।
मैं बस अपना लेबल के लिए रंग घटना पर फ़ॉन्ट आकार बदल रहा हूँ इस प्रकार है:
private void myLabel_Paint(object sender, PaintEventArgs e)
{
float fontSize = NewFontSize(e.Graphics, parentContainer.Bounds.Size, myLabel.Font, myLabel.Text);
Font f = new Font("Arial", fontSize, FontStyle.Bold);
myLabel.Font = f;
}
कहाँ NewFontSize समारोह इस तरह दिखता है:
public static float NewFontSize(Graphics graphics, Size size, Font font, string str)
{
SizeF stringSize = graphics.MeasureString(str, font);
float wRatio = size.Width/stringSize.Width;
float hRatio = size.Height/stringSize.Height;
float ratio = Math.Min(hRatio, wRatio);
return font.Size * ratio;
}
मैं भी इस लेख उपयोगी पाया http://www.switchonthecode.com/tutorials/csharp-tutorial-font-scaling
बहुत अच्छी तरह से काम करता है! धन्यवाद। – nozzleman
पेरेंटकंटनर क्या है ??? क्या आप पूर्ण कोड के साथ एक यूआरएल भेज सकते हैं? धन्यवाद! – Xarialon