Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Текс в TextBox разными цветами, Как? 
V
    Опции темы
GRIENDERS
Дата 24.7.2007, 09:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 19.2.2007

Репутация: 1
Всего: 1



Делаю чат. Необходимо чтобы в TextBox имена "чатующихся" были выделены разными цветами. Можно ли это сделать?
Вот код
   
Код

 protected void Page_Load(object sender, EventArgs e)
    {
        tbSay.Focus();
        
        CurrentUser = Context.User.Identity.Name;
        if (CurrentUser == "")
            lbCurrentUser.Text = "В моих глазах ты НИКТО";
        else
            lbCurrentUser.Text = "В моих глазах ты " + CurrentUser;

        #region Заполняем окно чата
        OleDbConnection connection = new OleDbConnection(
            System.Configuration.ConfigurationSettings.AppSettings["MS_ACCESS_CONNECTION"]
            );
        OleDbCommand cmd = new OleDbCommand("SELECT * FrOM Messages", connection);
        connection.Open();
        OleDbDataReader reader =cmd.ExecuteReader();
        if (IsPostBack)
            tbChart.Text = "";
        while (reader.Read())
        {
// ВОТ ТУТУ ЧЕ-ТО нАДО СДЕЛАТЬ
          //  tbChart.Font.Bold = true;
            System.Drawing.Color OldColor = tbChart.ForeColor; 
            System.Drawing.Color NewColor = System.Drawing.Color.FromKnownColor(System.Drawing.KnownColor.Azure);
            
            string OldText = tbChart.Text;


            tbChart.Text += "[" + reader[0]  + "]" + ":  ";
            //tbChart.ForeColor = OldColor;

           // tbChart.Font.Bold = false;
            tbChart.Text += reader[1] + "\r\n";

            
        }
        connection.Close();
        #endregion

        Response.AddHeader("refresh", "10");

       
    }

// Кнопка Отправить
    protected void Button1_Click(object sender, EventArgs e)
    {
       // tbSay.Text = "";
        OleDbConnection connection = new OleDbConnection(
           System.Configuration.ConfigurationSettings.AppSettings["MS_ACCESS_CONNECTION"]
           );

        OleDbCommand cmd = new OleDbCommand("insert into Messages values(?,?)", connection);

        cmd.Parameters.Add("", OleDbType.VarChar, 50, "Login").Value = CurrentUser;
        cmd.Parameters.Add("", OleDbType.VarChar, 255, "Message").Value = tbSay.Text;
        connection.Open();
        cmd.ExecuteNonQuery();
        connection.Close();

    }



PM MAIL   Вверх
Mymik
Дата 24.7.2007, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



    GRIENDERS, Если очень сильно захотеть, то можно все -- для этого у нас есть JS(надо использовать дополнительный div поверх основного TextBox. В твоем TextBox перехватывать нажатие клавиш и выводить текст в твой Div, однако при этом тебе надо перехватывать нажатия BackSpace. но это пол беды, самая большая беда будет с Copy/Paste ибо перехват этих событий разрешен только для локального сайта (запущенного с локального адреса). А если сайт из инета запущен, тогда буде вылетать предупреждение, мол скрипт пытается получить доступ к компьютеру и так далее). Но ИМХО это слишком и слишком геморно. Слишком усложниться код сайта.


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
Pankon
Дата 24.7.2007, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 739
Регистрация: 2.6.2005

Репутация: 2
Всего: 5



GRIENDERS, а обязательно использовать TextBox? Ведь можно выводить и в другие контролы...
PM MAIL   Вверх
Mymik
Дата 24.7.2007, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



Pankon, главное возможность редактирования этих контролов... а все эти контролы это input"ы. А в них нельзя писать разноцветным текстом. Только одним выбранным цветом.


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
7592374
Дата 20.1.2008, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 6.9.2007

Репутация: нет
Всего: нет



ха интересно,а как же аська....там окне сообщения ники красным синим текст черным????????
PM MAIL   Вверх
tol05
Дата 20.1.2008, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 34
Всего: 170



аська - это десктоп приложение. Я тебе в десктоп приложении текст могу пингвинами в 33 позах камасутры разрисовать.


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0696 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.