سوال : نشان دادن عکس به جای متن در RichTextBox در سی شارپ

بازدید18kپست ها5آخرین فعالیت10 سال پیش
0
0

سلام
سی شارپ
میخواستم بدونم که چطوری میشه جای متن در RichTextBox عکس گذاشت؟
مثلا اگه نوشته بشه : سلام :دی
خودکار بعد از نوشته شدن ، :دی تبدیل به عکس بشه
واسه یک عکس نمیخوام واسه 2تا بگذارید(مثلا لبخند)
خیلی ممنونم

0

سلام این کد خیلی خیلی پیشرفته هستش(البته واسه من ) ! اگه میشه فقط یک مثال ساده بدید!

0

از این کد استفاده کنید:
میتونید تو رویداد 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]

0

هر دو روش برای من ارور داد! البته عکس های من PNG بودن

اگه میشه پروژه بزارید

0

این چند خط کد چیزی نداره که ارور داشته باشه!
عکس های png هم لود میشن مشکلی نداره
*وقتی ادرس کامل فایل گذاشته نمیشه یعنی همون جایی که برنامه داره اجرا میشه (پوشه Debug) پس در اینصورت عکس ها رو باید اونجا بذارید.
اگر هم میخواید مسیر رو تغییر بدید کافیه آدرسش رو بذارید مثلا بجای "1.gif" بذارید @"c:\smiles\1.gif"
موفق باشید.

سوال برنامه نویسی دارید؟

ندونستن عیب نیست، نپرسیدن چرا!

خوش آمدید

برای طرح سوال، ایجاد بحث و فعالیت در سایت نیاز است ابتدا وارد حساب کاربری خود شوید. در صورتی که هنوز عضو سایت نیستید میتوانید در عرض تنها چند ثانیه ثبت نام کنید.