PDA

View Full Version : سوال: چگونه می توانم قسمتی از متن را رنگی کنم؟



dele_ghamgin_2008
چهارشنبه 31 اردیبهشت 1393, 09:28 صبح
سلام . من می خواهم یک عدد 5 رقمی را درون یک باکسی بنویسیم . برام مهم نیست این باکس از نوع تکست باکس باشد با ریچباکس و یا هرچیز دیگری . فقط یک جایی باشد که بعد بتوانم ازش کپی بگیرم. حتی لیبل هم می تواند باشد. حال سوالم اینجاست . می خواهم این عدد 5 رقمی را بصورت رنگارنگ بنویسم . یعنی به شکل زیر . لطفاً راهنمایی فرمایید باید چیکار کنم ؟
12345

فقط یک سری نکات رو من بگم . نمی خواهم خود بخشی رو سلکت کنم تا رنگی بشه . در واقع این پروژه رو واسه این می خواهم که : دارم برنامه حدس زدم اعداد رو میسازم . از کاربر یک عدد می گیرم . و اگر عددش غیر از عدد من بود ، اون تیکه رو تشخیص بده و قرمز بکنه . یعنی مقایسه دو عدد همراه با رنگی کردن. مقایسه کردن رو بلدم . رنگی رو بلد نیستم.

forodo
چهارشنبه 31 اردیبهشت 1393, 10:07 صبح
سلام
private Random rand = new Random();

private Color[] colors =
{
Color.Red,
Color.Green,
Color.Blue,
Color.Lime,
Color.Orange,
Color.Fuchsia,
};

private Color RandomColor()
{
return colors[rand.Next(0, colors.Length)];
}

private void Form1_Paint(object sender, PaintEventArgs e)
{
const string txt = "C# Helper!";

// Make the font.
using (Font the_font = new Font("Times New Roman", 40,
FontStyle.Bold | FontStyle.Italic))
{
// Make a StringFormat object to use for text layout.
using (StringFormat string_format = new StringFormat())
{
// Center the text.
string_format.Alignment = StringAlignment.Center;
string_format.LineAlignment = StringAlignment.Center;
string_format.FormatFlags = StringFormatFlags.NoClip;

// Make CharacterRanges to indicate which
// ranges we want to measure.
CharacterRange[] ranges = new CharacterRange[txt.Length];
for (int i = 0; i < txt.Length; i++)
{
ranges[i] = new CharacterRange(i, 1);
}
string_format.SetMeasurableCharacterRanges(ranges) ;

// Measure the text to see where each character range goes.
Region[] regions =
e.Graphics.MeasureCharacterRanges(
txt, the_font, this.ClientRectangle,
string_format);

// Draw the characters one at a time.
for (int i = 0; i < txt.Length; i++)
{
// See where this character would be drawn.
RectangleF rectf = regions[i].GetBounds(e.Graphics);
Rectangle rect = new Rectangle(
(int)rectf.X, (int)rectf.Y,
(int)rectf.Width, (int)rectf.Height);

// Make a brush with a random color.
using (Brush the_brush = new SolidBrush(RandomColor()))
{
// Draw the character.
e.Graphics.DrawString(txt.Substring(i, 1),
the_font, the_brush, rectf, string_format);
}
}
}
}
}

dele_ghamgin_2008
چهارشنبه 31 اردیبهشت 1393, 10:15 صبح
مهندس این چیه فرستادی !!!!!!!!!!!!!!!!!!!!

کد زیر رو نگاه کنید :
richtxtColor.Text = ""; int result = 0;
string SAMPLE = txtJavab.Text;
string sample = "11111111111111111111";
for (int i = 0; i <= 19; i++)
{
if (SAMPLE[i] == sample[i])
{
result++;
richtxtColor.Text += SAMPLE[i];
}
else
{
richtxtColor.Text += SAMPLE[i];
richtxtColor.Select(i, 1);
richtxtColor.SelectionColor = Color.Red;
}
}
می خواهم وقتی کاربر عدد 20 رقمی نوشت ، مقایسه کنه با عدد 20 رقمی من که همش 1 هست . هرجا که کاربر 1 ننوشت ، توی ریچ تکس باکس بیاد اون عدد کاربر رو قرمز کنه . همین.

forodo
چهارشنبه 31 اردیبهشت 1393, 11:21 صبح
richTextBox1.Text = "1451247";
string Asli = "1111111";
for (int i = 0; i < richTextBox1.Text.Length; i++)
{
if (Asli[i] != richTextBox1.Text[i])
{
richTextBox1.Select(i, 1);
richTextBox1.SelectionColor = Color.Red;
}
}

dele_ghamgin_2008
چهارشنبه 31 اردیبهشت 1393, 20:34 عصر
آقا یک سوال دیگه ! چگونه می توانم کد رنگ رو بدست بیارم ؟ منظور از کد رنگ اینه ؟
#ff0000

aliagamon
چهارشنبه 31 اردیبهشت 1393, 20:48 عصر
دقیقا نفهمیدم میخواین رنگ رو بدست بیارین یا این رنگی کنین ولی اونی که فهمیدمو میگم نبود بگین :
این کد هگزادسیماله اسمش ...

richTextBox1.SelectionColor = System.Drawing.ColorTranslator.FromHtml("#ff0000");

dele_ghamgin_2008
چهارشنبه 31 اردیبهشت 1393, 21:07 عصر
[QUOTE=aliagamon;2026925]دقیقا نفهمیدم میخواین رنگ رو بدست بیارین یا این رنگی کنین ولی اونی که فهمیدمو میگم نبود بگین :
این کد هگزادسیماله اسمش ...

using (ColorDialog myColorBtn = new ColorDialog()) {
if (myColorBtn.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
Color c = Color.FromName(myColorBtn.Color.Name.ToString());
txtColor.BackColor = myColorBtn.Color;

}
}

می خواهم کد رنگ رو برای اچ تی ام ال بدست بیارم . یعنی وقتی یک رنگ رو انتخاب کرد . بهم بگه کد اچ تی ام ال اون رنگ چی میشه ؟

aliagamon
چهارشنبه 31 اردیبهشت 1393, 21:17 عصر
اگه منظورو گرفته باشم :

textBox1.Text = System.Drawing.ColorTranslator.ToHtml(myColorBtn.C olor);

توجه داشته باشین یه اینکه تو خود اچ تی ام ال یه سری رنگ ها اسم مشخص دارن و هگز نیستن ...:لبخند:

dele_ghamgin_2008
پنج شنبه 01 خرداد 1393, 18:26 عصر
اگه منظورو گرفته باشم :

textBox1.Text = System.Drawing.ColorTranslator.ToHtml(myColorBtn.C olor);

توجه داشته باشین یه اینکه تو خود اچ تی ام ال یه سری رنگ ها اسم مشخص دارن و هگز نیستن ...:لبخند:

آقا خیلی لطف کردی . به کل مشکل منو حل کردید . و دوستان دیگر نیازی نیست که راهنمایی فرمایید . مشکل من با این پاسخ به کل حل شد . متشکرم.