scrat Чем больше версия, тем больше функциональность! Xaml штука очень хорошая, позволяет делать любую нестандартную гуйню и достаточна проста в освоении(за неделю можно клепать формочки десятками). Рефакторинга будет не много, если и делать как в фаерфоксе, т.е. отдельным диалогом(добавить новый проект wpf и наладить связи легко, но мутить в одном проекте который наполовину win forms на половину ксамль - лишний геморой). Тем более если ты перейдёшь на 3.5, то проблем вообще никаких не будет, а вот если было бы наоборот(понизить версию), то стоило бы в некоторых местах задуматься.
Не подскажите как можно сделать вывод времени в консоль в C#.То есть запускаешь консольное приложение и там выводится реальное время.(Например "Сейчас [hour:min:sec]").
создаю форму using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace myForm { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { CreateButton b = new CreateButton(); } } } создаю отдельный класс using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; using System.ComponentModel; using System.Data; using System.Drawing; namespace myForm { public class CreateButton : Form1 { public CreateButton() { Button b = new Button(); Controls.Add(b); } } } по клику на кнопку должна по идее создаваться динамически ещё одна кнопка, но ничего не происходит, ошибок тоже не выдаёт.
она не должна, ты унаследовал класс от класса Form, это не кнопка. public class CreateButton : Form1 вот пример создания кнопки в runtime var button = new Button {Text = "Caption", Left = 100, Top = 10}; Controls.Add(button); .NET Framework 3.5
спасибо за ответ, но по моему очевидно, что мой вопрос звучит так: как из соседнего класса, динамически добавить кнопку в нашу базовую форму?
... private void button1_Click(object sender, EventArgs e) { CreateButton b = new CreateButton(this); } .... public CreateButton(Form form) { Button b = new Button(); form.Controls.Add(b); }
у меня следующий вопрос, как в си шарпе обозначать позиции цифр, если мы не знаем, какое именно число: трехзначное,пятизначное ну и т.д.т.е. как бы часть зачачи звучала так: вывести на экран сами числа и сумму цифр, находящихся на нечетных позициях.
зачитывай число как строку. потом по позициям в строке уже идёшь и в зависимости чет/нечет выдаёшь., проверка напримет через модуль 2 == 0
Code: string a= n.ToString(); int sum=0; for (int i=0; i<a.lenght; i++) { if ((i+1)/2>0) sum+=Convert.ToInt32(a[i]); } где n - данное число, sum - cумма его цифр на нечетных позициях, отсчет начиная со старшего разряда. Если нужен отсчет с младшего разряда, то нужно заменить 6 строку на Code: sum+=Convert.ToInt32(a[a.lenght-i]);
Ребята,может у кого - то завалялась,программка по теме: "Компьютерная диагностика неисправностей автомобилей?" или что-то такое?если у кого-то есть прошу помощи..буду благодарен.Спасибо за помощь.. или Помогите пожалуйста может у кого - то такая программа есть: для разработка криптографической защиты данных.После запуска на выполнение программа должна по одному из алгоритмов, использующих генератор случайных чисел, зашифровать информацию, содержащуюся в указанном преподавателем файле, после чего записать файл под другим именем. Далее, по указанию пользователя, необходимо расшифровать записанный файл с помощью того же алгоритма.
парни срочно, сижу на зачете. Организовал массив. Как перевернуть строки относительно серидины именно середины, НЕ ДИАгОНАЛИ
подскажытем мине пожалуиста такую функцыю как в с++ cin.putback(); if(isalpha(ch)) { cin.putback(ch); cin>>string_value; return curr_tok=NAME;
неправильный подход. считывай всю строку, а потом парси. для разбора математических выражений есть специальный алгоритм.
етот калкулатор описан в книге от bjarne stroustrup она по с++ я просто перевел ето в жаву и столкнулся с множеством проблем Code: import java.util.*; public class calculator { static final int NAME=0, NUMBER=1, END=2, PLUS='+', MINUS='-', MUL='*', DIV='/', PRINT=';', ASSIGN='=', LP='(', RP=')', POW='^'; static int curr_tok=PRINT; static double number_value; static String string_value; static int no_of_errors=0; static Scanner cin=new Scanner(System.in); static double expr(boolean get) { System.out.println("expr"); double left=term(get); for(;;) switch (curr_tok) { case PLUS: left+=term(true); break; case MINUS: left-=term(true); break; default: return left; } } static double term (boolean get) { System.out.println("term"); double left=prim(get); for(;;) switch (curr_tok){ case MUL: left *=prim(true); break; case DIV: double d=prim(true); left/=d; break; default : return left; } } static double prim (boolean get) { System.out.println("prim"); if(get) get_token(); switch (curr_tok){ case NUMBER : { double v=number_value; System.out.println("number value"+number_value); get_token(); return v; } case MINUS: return -prim(true); case LP: { double e=expr(true); if(curr_tok!=RP) return error(" ) erwartet"); get_token(); return e; } default: return error("primary erwartet"); } } static int get_token() { System.out.println("get_token"); String token_string; char token_char; token_string=cin.next(); token_char=token_string.charAt(0); System.out.println("String:"+token_string); switch(token_char){ case 0: return curr_tok=END; case ';' : case '*' : case '/' : case '+' : case '-' : case '(' : case ')' : case '=' : System.out.println("Token"); int ch=(int)token_char; return curr_tok=ch; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case '.': number_value=Double.parseDouble(token_string); System.out.println("Number"); return curr_tok=NUMBER; default: string_value=token_string; return curr_tok=NAME; } } static double error( String ERROR_STRING) { System.out.println("error"); no_of_errors++; return 1; } public static void main (String []argv) { while(true) { System.out.println("main"); get_token(); if(curr_tok==END) break; System.out.println("RESULT"+expr(false)); } } } вот в принципи сама прога я её патом убиру чтобы если припод будет искать тут как видеш постояно надо сапрашивать 1 символ ибо ты за 1 вызоф обрабативаеш 1 символ иначи некак а тут при простом счтение надо постоян нажимать пробел и писать следушьи символ мине ето неподходит надо чтоби в 1 строку считивая всю строку и патом парсить думаю непоидет если можеш приведи пример
я гдето читал что можно осушествит счтения по 1 символу спомощю подключения библиотеки jcurses но ниснаю так ли ето