PDA

View Full Version : قرار دادن تیتر برای هر بخش برنامه



sara_aryanfar
دوشنبه 16 بهمن 1391, 16:54 عصر
با سلام خدمت دوستان می خواستم روی فرم هر بخش برنامه رو قسمت بندی کنم و عنوانش رو بنویسم چطوری می تونم این کار رو بکنم
99534

daneshjo90
دوشنبه 16 بهمن 1391, 17:16 عصر
اگه مثل این عکس میخوای باشه باید از Groupbox استفاده کنی و تکست اونو با متن خودت پر کنی

بیشتر توضیح بده تا کمکت کنیم


موفق باشی

sara_aryanfar
دوشنبه 16 بهمن 1391, 17:28 عصر
ممنون همون چیزی بود که دنبالش بودم فقط رنگ کادر اطرافش رو چطوری میشه تغییر داد خصوصیت border ندیدم

daneshjo90
دوشنبه 16 بهمن 1391, 17:33 عصر
نفهمیدم منظورتون کجاش هست

اگه میشه یه عکس بزار و نشون بده بگم چیکار کنی

موفق باشی

ma.rad
دوشنبه 16 بهمن 1391, 17:59 عصر
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace Sample2
{
public partial class GroupBoxTest : Form
{
public GroupBoxTest()
{
InitializeComponent();
}

private void GroupBoxTest_Load(object sender, EventArgs e)
{
myGroupBox myGroupBox = new myGroupBox();
myGroupBox.Text = "GroupBox1";
myGroupBox.BorderColor = Color.Red;
this.Controls.Add(myGroupBox);
}
}

public class myGroupBox : GroupBox
{
private Color borderColor;

public Color BorderColor
{
get { return this.borderColor; }
set { this.borderColor = value; }
}

public myGroupBox()
{
this.borderColor = Color.Black;
}

protected override void OnPaint(PaintEventArgs e)
{
Size tSize = TextRenderer.MeasureText(this.Text, this.Font);

Rectangle borderRect = e.ClipRectangle;
borderRect.Y += tSize.Height / 2;
borderRect.Height -= tSize.Height / 2;
ControlPaint.DrawBorder(e.Graphics, borderRect, this.borderColor, ButtonBorderStyle.Solid);

Rectangle textRect = e.ClipRectangle;
textRect.X += 6;
textRect.Width = tSize.Width;
textRect.Height = tSize.Height;
e.Graphics.FillRectangle(new SolidBrush(this.BackColor), textRect);
e.Graphics.DrawString(this.Text, this.Font, new SolidBrush(this.ForeColor), textRect);
}
}
}