سلام
سی شارپ
میخواستم بدونم که چطوری میشه جای متن در RichTextBox عکس گذاشت؟
مثلا اگه نوشته بشه : سلام :دی
خودکار بعد از نوشته شدن ، :دی تبدیل به عکس بشه
واسه یک عکس نمیخوام واسه 2تا بگذارید(مثلا لبخند)
خیلی ممنونم
سلام این کد خیلی خیلی پیشرفته هستش(البته واسه من ) ! اگه میشه فقط یک مثال ساده بدید!
از این کد استفاده کنید:
میتونید تو رویداد TextChanged بذارید تا هنگام تایپ اعمال بشه
[CSHARP]
//http://softafzar.net
string[] smiles = { ":)", ":|", ":(" };
string[] path = { "1.gif", "2.gif", "3.gif" };
int index;
for (int i = 0; i < smiles.Length; i++)
{
if ((index = richTextBox1.Find(smiles[i])) > -1)
{
richTextBox1.Select(index, smiles[i].Length);
Clipboard.SetImage(Image.FromFile(path[i]));
richTextBox1.Paste();
}
}
[/CSHARP]
روش دوم و بهتر:
[CSHARP]
//http://softafzar.net
string[,] data = new string[,]
{
{":)","1.gif"},
{":|","2.gif"},
{":(","3.gif"},
};
int index = 0;
for (int i = 0; i <= data.GetUpperBound(0); i++)
{
if ((index = richTextBox1.Find(data[i, 0])) > -1)
{
richTextBox1.Select(index, data[i,0].Length);
Clipboard.SetImage(Image.FromFile(data[i, 1]));
richTextBox1.Paste();
}
}
[/CSHARP]
هر دو روش برای من ارور داد! البته عکس های من PNG بودن
اگه میشه پروژه بزارید
این چند خط کد چیزی نداره که ارور داشته باشه!
عکس های png هم لود میشن مشکلی نداره
*وقتی ادرس کامل فایل گذاشته نمیشه یعنی همون جایی که برنامه داره اجرا میشه (پوشه Debug) پس در اینصورت عکس ها رو باید اونجا بذارید.
اگر هم میخواید مسیر رو تغییر بدید کافیه آدرسش رو بذارید مثلا بجای "1.gif" بذارید @"c:\smiles\1.gif"
موفق باشید.
سوال برنامه نویسی دارید؟
ندونستن عیب نیست، نپرسیدن چرا!