[ C# / Java ] — начинающим: задаем вопросы

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by procedure, 2 Nov 2008.

  1. dpxaker

    dpxaker New Member

    Joined:
    15 Dec 2010
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Контрол TextBox не поддерживает форматирование, для форматированного текста есть контрол RichTextBox :)
     
  2. geforse

    geforse Elder - Старейшина

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    PHP:
    richTextBox1.ForeColor Color.Red;
    richTextBox1.Text "Красный\n";
    richTextBox1.ForeColor Color.Green;
    richTextBox1.Text += "Зелёный";
    Выводит текст зелёным :(
    Как сделать строки, разными цветами ?
     
  3. eclipse

    eclipse Member

    Joined:
    19 Dec 2010
    Messages:
    155
    Likes Received:
    74
    Reputations:
    85
    Code:
    static void Raskraska(RichTextxbox xbox, string phrase, Color color)
            {
                int pos = xbox.SelectionStart;
                string s = xbox.Text;
                for (int ix = 0; ; )
                {
                    int jx = s.IndexOf(phrase, ix, StringComparison.CurrentCultureIgnoreCase);
                    if (jx < 0) break;
                    xbox.SelectionStart = jx;
                    xbox.SelectionLength = phrase.Length;
                    xbox.SelectionColor = color;
                    ix = jx + 1;
                }
                xbox.SelectionStart = pos;
                xbox.SelectionLength = 0;
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                richTextxbox1.Text = "privet\nmedved";
                Raskraska(richTextxbox1, "privet", Color.Red);
                Raskraska(richTextxbox1, "medved", Color.Blue);
            }
     
    1 person likes this.
  4. geforse

    geforse Elder - Старейшина

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    eclipse, спасибо :)

    Какие события в DataGridView отвечают за изменение данных в ячейке и добавление новой ячейки ?
     
  5. eclipse

    eclipse Member

    Joined:
    19 Dec 2010
    Messages:
    155
    Likes Received:
    74
    Reputations:
    85
    #805 eclipse, 25 Dec 2010
    Last edited: 25 Dec 2010
  6. geforse

    geforse Elder - Старейшина

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    бывает)

    да я в курсе, что такое события, я там (и на мсдн) не нашёл нужного :(
    Есть CellParsing - возникает, когда пользователь покидает режим правки ячейки, независимо от того изменена ли она. Но мне кажется это не совсем то + не могу найти события, обрабатывающее добавление новой ячейки :(
     
  7. eclipse

    eclipse Member

    Joined:
    19 Dec 2010
    Messages:
    155
    Likes Received:
    74
    Reputations:
    85
    CellEnter когда вводишь инфу
    CellPainting когда ячейка прорисовывается
    CellClick когда на ней кликают

    А что ты имеешь ввиду когда добавляется ячейка? На сколько подсказывает мне мой опыт ячейки не добавляются отдельно, только строки(?) Стало быть ловить надо строки?
     
  8. geforse

    geforse Elder - Старейшина

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    Вот у меня такая таблица. Нужно обработать два события:
    1) Изменение ячейки
    2) Добавление новой ячейки

    [​IMG]
     
  9. eclipse

    eclipse Member

    Joined:
    19 Dec 2010
    Messages:
    155
    Likes Received:
    74
    Reputations:
    85
    1.CellBeginEdit & CellParsing сравниваешь то что было и то что стало и делаешь выводы
    2.Я как понял у тебя только один столбец? Если я правильно понял то:
    RowsAdded, вычисляешь номер последней строки (она же добавленная) и юзаешь типо:
    dtgw.Rows[dtgw.Rows.Count].Cells[1]
     
  10. Ename

    Ename New Member

    Joined:
    24 Jun 2010
    Messages:
    12
    Likes Received:
    0
    Reputations:
    0
    Вот такая шляпа,
    Если можно мне описание программы что там и исправленную версию, а дальше я думаю сам разберус

    Методические указания
    1. При определении суммы членов ряда следует использовать рекуррентную формулу для получения следующего члена ряда. Например, требуется найти сумму ряда с точностью e=10-4,общий член которого an=2(n!)2/(3(2n)!). Для получения рекуррентной формулы вычислим отношение следующего члена ряда к текущему:

    откуда a n+1=an (n+1)/(2(2n+1)).
    2. Пример программы. При составление программы будем считать, что точность достигнута, если a n<e:

    #include <stdio.h>
    void main() {
    float e=0.1E-3, s=0, an=1/3;
    int n=1;
    while ( |an| >e)
    { s=s+an;
    n=n+1;
    an=an*(n+1)/(2*(2*n+1))
    }
    printf(“сумма =%f. последний член ряда=%f. ”, s, an);
    }

    Результаты работы программы:
    Сумма = 4.727439Е-01. Последний член ряда = 4.113534Е-05.

    Заранее огромное спасибо
     
  11. j-prof

    j-prof Banned

    Joined:
    29 Aug 2010
    Messages:
    321
    Likes Received:
    11
    Reputations:
    -4
    те в спп

    как получить текст из датагрида
     
  12. Ename

    Ename New Member

    Joined:
    24 Jun 2010
    Messages:
    12
    Likes Received:
    0
    Reputations:
    0
    Извеняюсь, а это что?
    Мне нужен только исправить исходник и пояснить как работает этот исходник.
     
  13. j-prof

    j-prof Banned

    Joined:
    29 Aug 2010
    Messages:
    321
    Likes Received:
    11
    Reputations:
    -4
    вроде ж был метод для перерисовки
     
  14. geforse

    geforse Elder - Старейшина

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    Как рассчитать интервал времени ?
    Грубо говоря time1 - time2;
     
  15. froot

    froot New Member

    Joined:
    17 Dec 2010
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    Событие на добавление строки (ячейки).
    RowsAdded - добавление строки
    RowsRemoved - удаление строки


    Для перерисовки если это WindowsForms используется %ControlName%.refresh(); , еще советую включить doubleBuffer.

    Code:
     this.DoubleBuffered = true;
     this.Refresh();
    
    Для подсчета времени кури в сторону TimeSpan. И будет тебя счастье.Если нужен более развернутый ответ с примером, изложи зачем тебе это нужно.

    Вот простой пример :
    Code:
              DateTime date1 = new DateTime(2011, 01, 01);
                DateTime date2 = DateTime.Today;
                TimeSpan _out = date1 - date2;
                MessageBox.Show(String.Format("До нового года осталось {0} дней.", _out.TotalDays));
              
    
     
    #815 froot, 27 Dec 2010
    Last edited: 27 Dec 2010
  16. j-prof

    j-prof Banned

    Joined:
    29 Aug 2010
    Messages:
    321
    Likes Received:
    11
    Reputations:
    -4
    а дабл буфер чо даёт
     
  17. BrainDeaD

    BrainDeaD Elder - Старейшина

    Joined:
    9 Jun 2005
    Messages:
    774
    Likes Received:
    292
    Reputations:
    214
    смотря о каком отрезке веремени идёт речь. для коротких отлично подходит stopwatch.

    удаляет мигание, особенно при анимации. в данном случае не вижу в нём смысла.
     
    #817 BrainDeaD, 28 Dec 2010
    Last edited: 28 Dec 2010
  18. froot

    froot New Member

    Joined:
    17 Dec 2010
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0

    Stopwatch , интересная штука.Спасибо.
     
  19. froot

    froot New Member

    Joined:
    17 Dec 2010
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    Я пару дней назад спрашивал как быстро загрузить текст интернет страницы. Вот очень быстрый и надежный вариант может кому пригодится, ниже приведен пример >>
    Code:
    private void Form1_Load(object sender, EventArgs e)
            {
    
             WebBrowser _browser = new WebBrowser();
             _browser.Navigated += new WebBrowserNavigatedEventHandler(_browser_Navigated);
             _browser.Navigate(@"http://www.ru");
              
            }
    
            void _browser_Navigated(object sender, WebBrowserNavigatedEventArgs e)
            {
    // Делаем что нам нужно с текстом страницы.
                MessageBox.Show((sender as WebBrowser).DocumentText.Length.ToString());
                _browser.Dispose();
            }
    Поясню как работает.
    1.WebBrowser создает объект браузера.
    2._browser.Navigate(@"http://www.ru"); загружает нужную нам страницу.
    3._browser.Navigated += new.... возникает когда страница загружена.
    4.Берем что нам нужно, и ОБЯЗАТЕЛЬНО очищаем память.
     
  20. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    зачем нужен этот тяжелый WebBrowser?
    на крайний случай - WebClient.
     
Loading...
Similar Threads - Java начинающим задаем
  1. b3
    Replies:
    4
    Views:
    3,299