استفاده از خاصیت یک TextBox
سلام میخواستم بدونم چطور میتونم از خاصیت یه Textbox که مربوط به تلریک هست تو خود TextBox پیش فرض سی شارپ استفاده کنم.
مثلا میخوام از قابلیت NullText مربوط به TextBox تلریک هست تو TextBox پیش فرض خود سی شارپ استفاده کنم.
radTextBox1.NullText = "نام کاربری";
بشه اون NullText رو به TextBox اضافه کرد
ممنون از دوستان
نقل قول: استفاده از خاصیت یک TextBox
می تونی با خاصیت enter و leave استفاده کنی. وقتی وارد شد متن پیش فرض پاک بشه وقتی خارج شد در صورت خالی بودن متن پیش فرض پر بشه . رنگ textbox هم کم رنگ بگیر
نقل قول: استفاده از خاصیت یک TextBox
میتونی textbox رو برا خودت خصوصی سازس کنی
یک کلاس بساز و از textbox مشتق بگیر
بعد خاصیت nulltext بهش اضافه کن و کداشو بنویس
بعد تو کل پروژه هات از این تکس باس شخصی خودت استفاده کن
نقل قول: استفاده از خاصیت یک TextBox
نقل قول:
نوشته شده توسط
hamid_hr
میتونی textbox رو برا خودت خصوصی سازس کنی
یک کلاس بساز و از textbox مشتق بگیر
بعد خاصیت nulltext بهش اضافه کن و کداشو بنویس
بعد تو کل پروژه هات از این تکس باس شخصی خودت استفاده کن
ممنون میشم یه نمونه مثال از چیزی که فرمودید برام بنویسید تا یاد بگرم و باقیشو خودم انجام بدم
1 ضمیمه
نقل قول: استفاده از خاصیت یک TextBox
این نمونه
PS_Txt.zip
اینو به پروژه خودتون اضافه کنید. یک rebuilld بکنید. در قسمت toolbox یک کنترل جدید اضافه میشه بنام PS_Txt. این کنترل یک خاصیت داره بنام nulltext
نقل قول: استفاده از خاصیت یک TextBox
سلام ب همه میخواستم توی کلاس زیر این قابلیت ها رو بزارم ممنون میشم دوستان راهنمایی کنن
1- برای رویداد KeyPress چجوری کد بنویسم؟
2- میخوام مقداری رو هم تعیین کنم مثلا اگه true گرفت اون کار توی رویداد KeyPress انجام بشه
3- مقدار عددی و یا حرفو و کاراکتر دریافت کنه و بتونه به یه رویدادی بفرسته مثلا تو یه متغییر بریزه
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Tmp
{
class PS_Txt:TextBox
{
private string nulltext = "";
public string NullText
{
get
{
return nulltext;
}
set
{
if (Text.Equals(nulltext)) Text = "";
nulltext = value;
}
}
private void SetNullText()
{
if (string.IsNullOrEmpty(Text))
{
Text = nulltext;
}
}
protected override void OnEnter(EventArgs e)
{
base.OnEnter(e);
if (Text == nulltext)
{
Text = "";
}
}
protected override void OnLeave(EventArgs e)
{
base.OnLeave(e);
SetNullText();
}
}
}
4- میخواستم بوردر تکست باکس هم تغییر بدم و من اومدم از این کد استفاده کردم ولی این یوزر کنترل هست و تمام خاصیت های تکست باکس رو نمیاره و من بخوام تو نمونه بالا استفاده کنم نمیتونم اگه بخوام این رو تو نمونه کدی که بالا هست وارد کنم به چه شکلی هست؟
public class BorderedTextBox : UserControl
{
TextBox textBox;
public BorderedTextBox()
{
textBox = new TextBox
{
BorderStyle = BorderStyle.FixedSingle,
Location = new Point(-1, -1),
Anchor = AnchorStyles.Top | AnchorStyles.Bottom |
AnchorStyles.Left | AnchorStyles.Right
};
Control container = new ContainerControl()
{
Dock = DockStyle.Fill,
Padding = new Padding(-1)
};
container.Controls.Add(textBox);
this.Controls.Add(container);
DefaultBorderColor = SystemColors.ControlDark;
FocusedBorderColor = Color.Red;
BackColor = DefaultBorderColor;
Padding = new Padding(1);
Size = textBox.Size;
}
public Color DefaultBorderColor { get; set; }
public Color FocusedBorderColor { get; set; }
public override string Text
{
get { return textBox.Text; }
set { textBox.Text = value; }
}
protected override void SetBoundsCore(int x, int y,
int width, int height, BoundsSpecified specified)
{
base.SetBoundsCore(x, y, width, textBox.PreferredHeight, specified);
}
private void InitializeComponent()
{
this.SuspendLayout();
//
// BorderedTextBox
//
this.Name = "BorderedTextBox";
this.Size = new System.Drawing.Size(108, 27);
this.ResumeLayout(false);
}
}
نقل قول: استفاده از خاصیت یک TextBox
ببینین اگه فقط میخواین به کنترل textbox خاصیتی یا تابعی اضافه کنید بهتره از اون نمونه ای که در تاپیک 5 هست استفاده کنید. از user control برای تجمیع چند کنترل یا ساخت یک کنترل غیر متعارف استفاده میشه.(البته من اینطوری ازش استفاده میکنم)
1- شما میتونی رویداد keypress رو override کنید و چیزی که میخواین توش پیاده سازی کنید
2- میتونید یک خاصیت بهش اضافه کنید که قتی مقدارش true شد تو اون خاصیت override شده بتونین کاری که میخواین انجام بشه
3- میتونین توی رویداد textchange فیلتر کنین که تکس یا عدد بگیره
4- میتونی از خاصیت borderstyle استفاده کنید یا اگه پیشرفته میخواین کار کنین باید متد onpaint رو override کنید
نقل قول: استفاده از خاصیت یک TextBox
ممنون از جوابتون خب من اومد برای keypress به این شکل کار کردم جواب نمیده
private void txtProNetM_KeyPress(object sender, KeyPressEventArgs e)
{
}
و به این شکل هم کار نمیکنه
protected override void KeyPress(EventArgs e)
{
}
نقل قول: استفاده از خاصیت یک TextBox
در مورد سوال دیگه من به این شکل میتونم یه قابلت اضافه کنم که میشه هاصیت انخاب رنگ رو اضافه کرد حالا مشکل من اینجاست نمیدونم به جای color اینجا چی بنویسم ه بتونم true یا false بگیرم
public Color FocusedBackColor { get; set; }
نقل قول: استفاده از خاصیت یک TextBox
نقل قول:
نوشته شده توسط
MahmoodM30
ممنون از جوابتون خب من اومد برای keypress به این شکل کار کردم جواب نمیده
private void txtProNetM_KeyPress(object sender, KeyPressEventArgs e)
{
}
و به این شکل هم کار نمیکنه
protected override void KeyPress(EventArgs e)
{
}
الان ااینو تو usercontrol خودتون نوشتین؟
همون کلاس رو بزارین لطفا
نقل قول: استفاده از خاصیت یک TextBox
نقل قول:
نوشته شده توسط
MahmoodM30
در مورد سوال دیگه من به این شکل میتونم یه قابلت اضافه کنم که میشه هاصیت انخاب رنگ رو اضافه کرد حالا مشکل من اینجاست نمیدونم به جای color اینجا چی بنویسم ه بتونم true یا false بگیرم
public Color FocusedBackColor { get; set; }
از bool استفاده کنید
1 ضمیمه
نقل قول: استفاده از خاصیت یک TextBox
نقل قول: استفاده از خاصیت یک TextBox
نقل قول:
نوشته شده توسط
MahmoodM30
ممنون از جوابتون خب من اومد برای keypress به این شکل کار کردم جواب نمیده
private void txtProNetM_KeyPress(object sender, KeyPressEventArgs e)
{
}
و به این شکل هم کار نمیکنه
protected override void KeyPress(EventArgs e)
{
}
protected override void OnKeyPress(KeyPressEventArgs e)
{
base.OnKeyPress(e);
//کدهای شما
}
اینطوری بنویسین
1 ضمیمه
نقل قول: استفاده از خاصیت یک TextBox
سلام مجدد من برای تغییر نوع نوشتن در تکست با این کد رو اضافه کردم به کلاسم
و طبق تصویر هم این قسمت ها رو دارم
ضمیمه 143823
1- مشکل اینجاست وقتی TypeAllChar مقدارش رو میخوام به False تغییر بدم تغییر پیدا نمیکنه و ثابت true میمونه ممنون میشم دوستان راهنمایی کنن
2- وقتی میخوام هر کدوم از TypeFarsiOnly یا TypeEnglishOnly یا TypeNumerikOnly رو به true تغییر بدم TypeAllChar بشه false
public bool TypeFarsiOnly { get; set; }
public bool TypeEnglishOnly { get; set; }
public bool TypeNumerikOnly { get; set; }
bool typeallchar = true;
public bool TypeAllChar
{
get
{
return typeallchar;
}
set
{
if (typeallchar == true)
{
TypeAllChar = false;
TypeFarsiOnly = false;
TypeEnglishOnly = false;
TypeNumerikOnly = false;
}
}
}
نقل قول: استفاده از خاصیت یک TextBox
توی SET باید اینو هم بنویسید
set{
typeallchar=value;
.....
}
نقل قول: استفاده از خاصیت یک TextBox
public Form1()
{
InitializeComponent();
textBox1.ForeColor = SystemColors.GrayText;
textBox1.Text = "Please Enter Your Name";
this.textBox1.Leave += new System.EventHandler(this.textBox1_Leave);
this.textBox1.Enter += new System.EventHandler(this.textBox1_Enter);
}
private void textBox1_Leave(object sender, EventArgs e)
{
if (textBox1.Text.Length == 0)
{
textBox1.Text = "Please Enter Your Name";
textBox1.ForeColor = SystemColors.GrayText;
}
}
private void textBox1_Enter(object sender, EventArgs e)
{
if (textBox1.Text == "Please Enter Your Name")
{
textBox1.Text = "";
textBox1.ForeColor = SystemColors.WindowText;
}
}