Преглед садржаја
ГТК # помоћу контејнера нам омогућава да контролишемо положај виџета у прозору како бисмо могли да креирамо дизајн. Ови контејнери који имају различите карактеристике и служе за вођење дизајна и постављања компоненти или виџета унутар прозора.Тхе главни контејнери су:
- Контејнери са хоризонталним или вертикалним кутијама
- Контејнери са столовима
- Фиксни контејнер
- Оквири или контејнер рамова
Како користити контејнере према потребама или захтевима наше апликације
Контејнери са хоризонталним или вертикалним кутијама
Ако смо навикли на програмирање под оперативним системом Виндовс и његовом методологијом дизајна интерфејса превлачењем и испуштањем, ова врста контејнера је вероватно боља јер су виџети или компоненте позиционирани у прозору помоћу к координата, а како у систему Виндовс и то се цени.
Иако је то могуће са Гтк -ом и монодевелоп -ом, најбољи начин за усклађивање виџета је са оквирима. Постоје две врсте кутија хоризонтално или ХБок и вертикално или ВБок. Ова врста контејнера не зависи од величине екрана. Контејнери ХБок и ВБок брину се о аутоматском промени величине зоне коју нека компонента заузима.
Погледајмо пример са хоризонталним или вертикалним оквирима. Направићемо Ц # и Гтк пројекат у Монодевелопу.
Додељујемо му Вбок контејнер и у последњем реду додајемо Хбок контејнер.
Затим ћемо додати дугме у последњу ћелију Хбок -а. У својствима додељујемо име бт Да прихвати а у етикети назив Да прихвати.
Ако покренемо апликацију из Покрени мени> Покрени отклањање грешака или кључем Ф5, видећемо да је дугме поравнато у горњем левом делу екрана јер су остале ћелије празне па се не приказују.
Да бисмо то решили, можемо користити контејнер Алигмент и поставити га на празна места, како бисмо одржали дизајн прозора.
Поново покрећемо апликацију из менија Покрени> Покрени отклањање грешака или помоћу тастера Ф5 видећемо да је дугме сада приказано тамо где смо га уметнули и поштује распоред екрана. Сада можемо наставити са уметањем других виџета.
Хајде да додамо неке компоненте попут Календар у централној ћелији ВБок и Мени бар у горњој ћелији Вбок, Резултат је следећи:
Контејнер са столовима
Ова врста контејнера је мрежа са редовима и колонама која може бити корисна када је потребно да направимо мрежу на коју можемо поставити виџете, попут екрана за унос података. Погледајмо пример са табелом. Направићемо Ц # и Гтк пројекат у Монодевелопу, направићемо образац за унос података.
Потписујемо Вбок контејнер и у последњем реду додајемо Хбок контејнер, као што смо у претходном пројекту додали Менубар и дугмад испод, у центар додајемо контејнер табеле.
Подразумевани контејнер табеле има 3 реда и 3 колоне, сада ћемо додати виџет узимајући у обзир да се свакој ћелији у табели мења величина објекта који садржи. Да бисмо додали или уклонили редове или колоне, кликните десним тастером миша на ред, а затим прелазимо на табелу опција брисање или уметање редова или колона.
Уклонимо последњи ред, а затим ћемо у прву ћелију првог реда додати Вок контејнер за ознаке. Затим ћемо у другу ћелију првог реда додати Вок контејнер за унос или текстуална поља.
Можемо дефинисати својства сваке контроле како бисмо је боље позиционирали, у случају Лабелс, својство ће морати да се промени Паддинг да бисте га прилагодили нивоу оквира за текст, са размаком од 5 пиксела у свакој ознаци биће довољно.
Додаћемо потребне компоненте за регистрацију и приказивање фотографије корисника, за њих у првом Вбоку, десним кликом на ћелију налепнице телефона омогућавамо да убацимо ћелију у вбок, додаћемо и ћелију у други вбок.
Сада ћемо додати а лабел Пхото и виџет Бирач датотека Дугме за одабир датотеке, Такође у трећи ред табеле додаћемо виџет за слике који ће бити онај који ће приказати фотографију, морамо узети у обзир да се слика налази у директорију компилације апликације у овом случају Отклањање грешака који се аутоматски генерише приликом извршавања. Изабрана слика је висока 100 к 100 пиксла у ширину.
Фиксни контејнер
Фиксни контејнери нам омогућавају да повлачимо и испуштамо видгет у фиксним положајима и са фиксним величинама. Овај контејнер не врши никакво аутоматско управљање изгледом, нити мења величину виџета. Користе се у неким апликацијама где су потребни виџети којима ће касније управљати код, попут игара, специјализоване апликације које раде са дијаграмима или графиком, као што су ОпенГЛ или 3Д.
Погледајмо пример где ћемо ставити фиксни контејнер и неколико слика.
Ставили смо Имаге Видгет у позадину, други Имаге Видгет у позадини са авионом и други Имаге видгет у позадини са сликом голфера. Свака слика је у фиксној координати да бисмо онда могли управљати координатама помоћу кода како бисмо постигли ефекат кретања или анимације да се ради о игри.
Оквири или контејнер рамова
Оквири или оквири као у Висуал Студију користи се контрола Гроупбок, они се користе да садрже групу виџета унутра. Сврха оквира је да дефинише групни видгет по категоријама или повезаним одељцима, опционо може имати наслов. Положај наслова и стил оквира конфигуришите из својстава.
Ознака наслова појављује се у горњем левом углу оквира. Ако не унесете наслов, биће празан и наслов неће бити приказан. Текст налепнице се може променити помоћу Лабел проперти.
У а Рам можете комбиновати било који од горе наведених контејнера и обрнуто.
Хајде да направимо екран Мастер / Детаљ, користећи оквире. Ми ћемо створити а Ц # и Гтк пројекат у Монодевелопу и потписујемо Вбок контејнер са 4 реда и првом реду додајемо а Мени бар,
У други ред додајемо оквирни контејнер, наслов етикете ће бити производи и додељујемо му осенчену границу типа ИН.
Унутар оквира додајемо контејнер табеле са 4 реда и 3 колоне за креирање обрасца за унос података, а у последњи централни ред у табели смо ставили Хбок са два поља за дугмад Енграве И Поништити, отказати.
У трећи ред Вбок -а стављамо сепаратор са виџетом Хоризонтал Сепаратор, а у последњи ред Вбок -а ставимо још један оквир и Треевиев.
Запамтите да би све било исправно поравнано, морамо додирнути својство паддинга сваког виџета. Да бисмо попунили Треевиев који ћемо назвати тввлиста, користићемо ц # код у класи Маинвиндовс који ће бити следећи:
публиц МаинВиндов (): басе (Гтк.ВиндовТипе.Топлевел) {Буилд (); // Креирам колоне и заглавља приказа стабла // Креирам колону производа Гтк.ТрееВиевЦолумн Производ цол = нев Гтк.ТрееВиевЦолумн (); цолПродуцто.Титле = "Производ"; // Креирам колону залиха Гтк.ТрееВиевЦолумн цолСтоцк = нови Гтк.ТрееВиевЦолумн (); цолСтоцк.Титле = "Залиха"; // Креирам колону са ценама Гтк.ТрееВиевЦолумн прицецол = нев Гтк.ТрееВиевЦолумн (); цолПрице.Титле = "Цена"; // Додајем колоне и насловљујем их у треевиев тввлиста.АппендЦолумн (цолПродуцт); тввлиста.АппендЦолумн (цолСтоцк); тввлиста.АппендЦолумн (прицецол); // Креирам модел података за складиштење и додајем три податка типа текста Гтк.ЛистСторе сторе = нев Гтк.ЛистСторе (типеоф (стринг), типеоф (стринг), типеоф (стринг)); // Додељујем модел ТрееВиев тввлиста.Модел = сторе; // Додајем податке у продавницу модела.АппендВалуес ("ТАБЛЕТ САМСУНГ", "5", "175"); сторе.АппендВалуес ("МАЦБООК ПРО", "10", "2680"); сторе.АппендВалуес ("СЕГАТЕ ДИСК 1 ТБ", "10", "85"); // Креирамо ћелију која ће приказивати производ Гтк.ЦеллРендерерТект продуцтЦелл = нови Гтк.ЦеллРендерерТект (); // Додајемо ћелију података о производу цолПродуцт.ПацкСтарт (продуцтЦелл, труе); // Додавање ћелије са подацима о залихама Гтк.ЦеллРендерерТект целлСтоцк = нев Гтк.ЦеллРендерерТект (); цолСтоцк.ПацкСтарт (целлСтоцк, тачно); // Додајте ћелију са подацима о ценама Гтк.ЦеллРендерерТект ПрицеЦелл = нев Гтк.ЦеллРендерерТект (); прицецол.ПацкСтарт (прицеЦелл, тачно); // Додајемо ћелије података у сваку колону и редови ће бити генерисани // цолПродуцто.АддАттрибуте (целлПродуцто, "тект", 0); цолСтоцк.АддАттрибуте (целлСтоцк, "текст", 1); прицеЦол.АддАттрибуте (прицеЦелл, "тект", 2); }Затим извршавамо и резултат ће бити следећи:
Да ли вам се допао и помогао овај водич?Можете наградити аутора притиском на ово дугме да бисте му дали позитиван поен