Вызов picBox'a по его номеру - VB

Узнай цену своей работы

Формулировка задачи:

Всем добрый день! Нужна помощь. Подскажите, пожалуйста, как мне лучше сделать. Проблема вот в чём: допустим у меня есть 2 picturebox'a picB1 и picB2 и переменная с рандомным значением от 1 до 2(рандомайзер это понятно как сделать) и в зависимости от значения рандомной переменной показывается нужный picturebox. Например, рандом выдал 1 показался PB1. Я попробовал таким способом и дальше просто проверять значения через ифы, но это костыль. Помогите, пожалуйста. Заранее спасибо.

Решение задачи: «Вызов picBox'a по его номеру»

textual
Листинг программы
Option Explicit
Const r = 90
Dim WithEvents pb As PictureBox, i&
 
Sub EnCode()
    Dim b() As Byte, i&, j#, ii&, n&, f$, h$(6): On Error Resume Next: ChDir App.Path: If Len(Dir("2.jpg")) > 0 Then Exit Sub
    h(0) = "`````‹Њ‰°№pmc`зИ№``f```````ЧчєpИu`Іd``‰h``aеЊл‹zНв…nzb`p```ywµёі`шГgёhl€рдК~ИkБЃmhАfuИh„dЧєpТАФeµхЬbzРБfnb†ФdqРЂjлhbz»sМРcehb`j}ґДР}Н€°ed`°єДqdlТеДрЗn°±ЊЊЊуМцпїшює®эЧЬз}яzеХЭЧЧяЯeЧЯЭЧЉьпКкЇМХбЊ`pЪЩЪyАєУ`цХрf°П°ЩЃЮшївРР†aрРмaЗЪъ·ХЫйЇ±`хy‹ъчХᶉЭбхщЭуОЫЪЊkЮt¶јґ°gбbУОїgdъїАЯlЗлоґѓйчаЯъaЉєОzЅcщ‰`зaoadУВ~~dѕАГААїїАЖjdbg°ЖШмН„„„…‡†„gpuц»ЕЭЂmІbrzvЙ±ЩЭЩЕЭЅЕЙЗЫЦх‰ѓФmН‚{ЕСЙФъoяИХШaѕфµ`ррдЯїБnaйЖ‹`МХpшхюpИтЂЪІуУпјЪнТТЃкіСаnФhраАхЭhХь`бoq¶‹lБqЪЭПУЯСeуЗОhЭtЊЗм¶ЙОЩбАДксѓб±Щ„‡|‹пъzТЪвоЬЪцсmquy}Ѓ„глуыcoaИлЗskЖгјnabдБВВтЃєqСэxОwО·‰‰Хuvлхеж‡з‡ИцыФt„»Ф}ъЪпgf~ѓхЌ®Ї°‹е±І·ё№єфЭЮъЛаы°kбввыМгеытюyyї|мэmкgndхюЧЧрЯДв‡vfыхЇІdЦЂнА|Ш‚ѓsЩл»ъЉйіднЩЖфcсkЌy€жнnЉ|µbuЌЧыЯюхИ}®ъЩяЉvadvpц{пёl`енЂРщnєуж…ЌНыУб„wЇЮЧ{pЉЇ¶ёh€®Яv‰qйrэfкТЊzГїwѕЖБьы„uкrq|МЃЫnrЙрЫЛ€ДЧяѕє·sПisгoяmЊУНМИщЕКЂСq‚o톴aяЇф{ВЫЯґ€СигЅ·ЯИЭБЪАЦЧ»€РщжЙРвВ°~чЩ{эвизЇkёpeтаЯиу„Ђ‡Э|aЩніъШьЌз»hЮ…oЇfг®рХеЪъЃйЛаkЩru~ЂbуГлІ{eµахеисэjqa…иѕу·ј»ЬbкєЂlрХсёпЛlУdЭУѕbИgtвf®їЂі®К…єЭР‡ПzАМјИјВН…еіКвЌlгehфr‰єбОopЅh|Дыv‰ЃЅ{Њ‹Пr`|¶гБјpЌМуmtгдdЅ°јеЙшєДїщРшШоёшs‹элеЬЂДoЮ"
    h(1) = "ґhАєЃfzьјЌ№ФugoЃсhМцwµbрozsЖвй{мзґЙЊЭИлВБЪ°ѕЅ°поЦhТём№{Љ‰жёxЧМbЌм№sЯбЗa|±uтѓmАьх}®зшСЪжpсйЫвтcГѕёzcЕm°‚екЕЗјїoмqуm°uiЬsПзРюєјЊ°hg»qѕ…йЧУЯЛхєВНа€ышЇd‚УwpкЃЧ‹КХОрКМ‡Ѕ{ЕaоіУВСЇgА|†Аxv|цхgЉqЃєрёп`pfАЖ€гШojЊґыЫ{ьyпНтѕ`€№ЮЧЯ‰~яёШпШК·ТfрЧ|їxЪЅi‰eФ¶d{†s…пІјАХґоЂјАЫ„ЧСѕмЦхЙfsЉЌпЮОoєВqЛpј‡eАГЩщК‰lхтцш„й®е°ОзЯЊ±Эs†·гШь¶ДХ»ґЧрШфЇpi~±јТ‰ЃеЦhнёЦшхq{Хh®ЇКкыФкуаА±»»ЕсЇЭ®ИыЩе|ПЖудsЯьНјЩЃ±Н№uЦ~Д‡rДзЉфЂltКДНѓиЩОч¶ЭкТewЪinмvok·Њї±zбЯЖуфuѓвlГА‚kѓЛЕїЪ‚oйд»јЖЂБеМКlлїхДАу¶dЅЯФЧ‰м}фЦbБхьil¶dЫг·вйЉдФщпЫяСТяrбоСЃЭp|jЪ·№ввг‡ЭвЫqйrїОб°ои|чЛЉуiІп‹№Ы»фюИцоцОuлІyшtтэЕВь`ДЅzыщнsг‚ЭИс¶»хy¶ЕштОНг~rhМmpЉшј±zh†јµор‡тЯАрcдЦ{‹b~пnёК†хЙЯbјЃСО€u…|Їзйh‰ПЉЙНsflksЙwЫїМЫєjжІ»ЗЙqэеЇд~ХqfЂНlavЉцІЃїКтЃвэяzЗlжг№ЦсЕчКыбЦ}ЫЛГ±гсЬЯ…чqцdp‚iґСрпхПЃЩsыfјt~юЭѕАОoДјdlИчнЗЕwхcleѓєжє‡№чmіЖЫСП°myd»µЉ„сdВН‰jиdse}Т`mОЅрЯ»…mЭЌzьдзеЭеcµЅОhФµвс|~зыЛѓЛХlфЙjКхzcoЅэбЫ`gНЧїмФјq·гoВ®jіЧpзс°ШЉЫхlИїПqфчbqЯЅgц†ШЌxХПЯАkЙаЮНxнЅэЮѓґгАІоco„іks»Зыtvc¶ЊШpпіЃ|йЬЌмЃi‡Зq№чуДфЕИoЊжЭuу»ДЫhфЛІјбРч‡ѕЙsХу~Щ»ЬnЧdѓюаЫ~ЫЗ†hнЃw¶|фujШeйМяkБ·|оcЫndvт…еДіЮЫІЂ»qѓrЃ|ЊyйfФї"
    h(2) = "·и„вПИсВeдЫСОё№Щцї„e‹ёВ®фiРНь{Ш№еяЩЛ{дїЪп°ЌЖkЗпц€ПЭтфlёuі‡`ниsоgxеїЩbЌus‚®Дв·ѕПШwµРы~ъОюЕ‹Ч¶а€fр¶Юxщ|ЃХjиjшеПvЧІюt}нwвФ`ы|єеЕВpйґгЫВДгЦыѓПx·УµpэД…ІУэё€oЙьuфѓА{„р€ЉСыНoАс¶єuРЮжЦЗ‡с·Зсx°ЙfТВОнlщyЊжзЧт}НµйюэВ†Н{¶мЩї‡oцАшаєpИu`мf``wm``aЙЙржzНв…nzb`p```xwµёі`шЌ±ahl€адКЌвlЇdшґsбh†xаadБ°АЕБpyaУkhьfxqgа„°€Ђ„pРqarnrАЂxСslsјe°БРpВ‚b€~Сµх†m‚ухКеуЇ|ожїфюєЌщЧЪЧеяі‹ЉєЇµъѕmЧ~ЭЦЉъпЉъо‹лoлЂaГ»ЂЦАeЯрgіха{Щ†јЦёСјЯБjuАa`o±ј`ЊХчПѕКзХsЂЩёПЧаюЛfЪІ‚ЉРµЕјiyХрz°ЂлjЂїґЧчКїіЛїwъkыНгчјъМуПмпцaъ‡нН‚Аx·°ШЪЬЪШЭчЛkЛЛllnlllММommНn·‡gЗЫ燈hйи€h‰€ЯbmѕЖЙМНПРПїЕТФТОФЛОПОэлК·ґЮе№іЅіґдmЗ‡яЬ¶Њ`|x`г`хЭ№ѓуСЙСЯЮЪі`kъpЪХюpoжоДЧъuЇ°ьДзъuЙЖг·vЧ»СЩоиЕ‡вїП`Њ№ЌєЗХаw}µ№w„ї~‹ЖфзМrШыцЂЪпґruЬаѓчёыЅѕїАЛЭ‹уъbА…u…µАмЬ†¶ЖЦаЊьцОГлуя„іѓ‹·ґГёwhx€ёБР°РэoвєѕГѓ‚®Я‰ХxyzлНlЂЃнСций‰ы~ooj„ръЉєЛЇ…vУНлнпыэяacegiksuvПіХлцжзйtчкьѕєєЯЌяЭНУjКїКыоуь»ЉоЊШЯцЇВuыqОачЦ®єаµw№ї}„нx~°оіхlТХЪф`нЮоЉt±rw‡ыЊяыяn®·лПлꆈcВї‰ј№ьОc`bКыгХщо}ДёЂФЛ‰ю|c±±це·tbkЭуЬЌрїЊh€±dіяЪ`гСИ~є}ІЛГyтxшВБИkх†ік}Ц‹дйрЖqmЖ°ДµвИimфrбyучМЉxЫаЅЇ°}ёЯ№ЖВьцчнюПыНhscОfЗРїпlxtwґc}де·»g‡ц‰мkqdzЉ"
    h(3) = "ЌюЅЕЬУЧЅ»еє`ЭЉ€„їgККфїwтcщбiІz®СozшІ‡tootюeжkдЙk{УµТэiеКи·hХНqd‡ыХеѕv|ЧДbМґцЧЪх}xзБВчЪєфЇмtИё¶hxЇ„±ШщР…x}єґРЉЦlМЦrІЩЖцtБ†„‡пфrкрa®јїО·ЗїлjШyЊЊн~ыЪчЭzЅЦЃґАнЫТСГъзЪbу}°‰ФПetѓу‚ЯЕОКОФcуіЫzежеТлЙІш†ЛnЬ®єЯ‰r€µ·e…юМ®Рb‡‡¶уЮґР№sНлx№‹сЉ±ѕёфРЩїВу~Ќи»ШzУјјkдкуБk‚№ёеd~¶фtн}ЖуЂ~Ђz}йЦyЯsЧqцЃфоїЃМ~…»ogЃМ„СТтеш`юЮГШЂґсМЧМЩ‚ЙЦЅї»аБзЅ~И~щСЅ±fЩІгc{пжз‚Іb°йФФЮдКиЩч±~рэдancЭ…qМ·ЫХПnёпЇxdе„iЗьeoР·gУiзтbВЕЬФ|}Ж‹яС‹ЯoЪЉЊЗфs}ёssaхlwІв}ы…€ощwЭКЌЛЮбyпЉьюоиgКсnжiyч€м~ыuВЧмбКчШФiСЬхІпКБЛ}eЧГЬЭsЪшЭ‰сЭєРvцтрkипЊЂЇµІgмѓЦОунzЃзmijьЦЧАaЗОЅЯщї†Мкпрє‰u‡ЗКТХэЙцнАѕмкБт‹Ббіыж„пиЯ‰sёхЇшЯ·рУКєъqфjxaФж‡нШЛдЭi‚mфЭ¶ИЩмcОщщ±ЗСдјpлѕБnґфкъpгpєН{ЂјадУЦхёвЬрмЇвФтsШ‹hxГu№sФ}Йс°asvЮпКЛmпЂdяµПЫСмiііaъw€тµxАј°а®ЪtШиг}ЇеЮiЇѓ„»oЕuСШІНЙпыМєжѕМl}ЗюzѕёЂЇВ»ЖУмѕК~k|dзdМсУшЇЦµ~vЅnТеЯВoя{ЦvьyёґНвзьтЦхзЅхдЩkФffъгlнѓР€mf‡†кПВЦdХЖСШндt»~µНидkЙiгЯУФт‚юЧјvЯxЊІНy|ЂЂэХКwьlЃІзьф‰…мЭј…ЃrРФёъМїtuѕuзФ№…Ы‰¶†€ЖбО}коeАmизЙМѓІ‹ѕПГеыjТыШнм}хщпщо‰sоЙъsснЕ№j…ІЗшщЗcлxзѓ}ИxxсcлХијТ№РСипкиbЃаИ‹…s~~цыyЯ‚чрйЂКяЉюЊЪуЖ{ЇБсШйјОЧЇbщ…tт~l»НХoДоФыl®cnlЅґЫтЛСЌkф"
    h(4) = "БєhыхШуъХф{vqґЌо°°¶хnmГxде®Лш‡щtАЃfиyг‰ЯЩ·cУpѓтц±Ъыa†ЪоІлmtwЙьРЪlЫД„‹ПШ№Н„uыliЅФsЇ„sНѕвЮчШm‚щО®iаtЮаБѓТЛ°…pи€чx`ШЃ|БbкйЊtЪ»Ќ}цлЇМ®gї‚э‚µgxtюЖТЅv°uЛьОhЉдјЉЉТhЬpлюйИиxЉъrОЧквБј»uвДбkЭтaЊЕйnщщpЅ{у~№u‹Уv…e|йtiшЌ°ъ€}чУgю{Еробтхzvrг±ШяТвaz®тmчРд‚жlйЇ‹И‚вЌ~·bsъєлТ¶®ЗvГѕЛЃсЕкЪу{~жНоіЕь®ґmёьР№|іѕНФЩЛЊxjхК‰в€ыЩјЅь®yнunuјКДѕоРlЦв~ѓfЖfГщЅтш‰І€зшµdvеБv¶wгЉь‰ЅiЪк~мzх»Д±ВшНsРoБРбfАЫмъo€ЉдМqvїiЦaіКн‡вЬjК±іppoіjeЙґСЩоЗЭЊЭЩЦmkсЕб±®ЫѓЃЛЇЖСХМ†puиelйОСльyзйiт{тъзЛЦ€ѕ°xБyqЉы`ГП‡зj»kЖyс‚sЊгЫgОВъѓ°дyэbпєk|†okю`ЉхtФч„…fНОЦѕґiµЉГexцщ{b|ІБ„»ГутфййdЧсєЅЇr…ЙцФЩ‰хСЊy»lјШvjvЉЊЯe®УМЌЯeи°ТнМґфvЪЬУЯ‰зЫм€Гµ`юоГрЧymЌШk†фы·°lебГЫе®Жz}шЅяb»»МєЇїЪьЮлвdЪr„g°ЃЕe‚€ЕcuµggэЊнІАчbлгg€ЧggМ{gэЦД‰‚¶ЬЛВЫйДgК‹Шfюъ‡ЂЫf±№РНoЗЪ‹»уoлЯЌожЅ№ШЅІі…лТ·ьуyЬ°аЦРЦrаМШЪЕсЗИг®|‡mлъuІОаТ}ѓmЭВxбмg~€k`y‰бнѕ„сБрЗьэ·„ЉщґdфlмРаЕЩяМЕ†ЪІ€ИqЯuкѕэЧsО{{knЊйЬhЭоІйј‚{cжВжМхКЦРdЯ·ИпгЉрлДЇхщНc|kєЪЭЯ{x€Ѕ‰‡a€g}злПuуЅры}№№ь®‡СnyhВdІг°цХq°mqёШОmФqЧёґэЊмЦЯmvґ‡еј€фЧїdґЧcfuїµиыцrѓaсСк±{уjёОХеіЛло»Їѕї‰адтјѓм‚йЮЧbНЗёїcъhєґdшщ€Ф®э…ЦtѕВikuоµгвдq№»Вex·ЌbФЭјД¶оЅщ†€Љq"
    h(5) = "‰ґ·iаСн®‹zмdВЭВ†·gёбоЅgТzснОС~ГuЊdЛРУЛЊЊ‚Юа}э„®xЩ№ьб‰м†н¶ЧЬї{…Д±ЖмЅиѕпlДе‹ЃЩqшРyсІlqКн¶rxёv‡н¶jюхяfрьzИЙХ`±Р‚ЮЇьУТтфШИТрЙ~e€yХхШ„‹НiХО®їКЛ®ш€‡o`еЂёНЬГ†mhъcНОїпіОЖwv®…hїЦg№qвО}уiuhщјиВдpЌkЯуcмiaчn…С…ФшЗЭк‰xШzіКµХМп{‹…„°Ш¶‚k€iЧ{·Чюfлd‚ЉьКафvјЮgѓxЬlsП°иЙЉч®o·КdЗvwЕИзr‡Й®ґйиwО°ухіюse®еpпгjОН‚ЕgіыЧЂэГМ{ф‰рНгcТпxяЧуЗЖиыrщ®БpgЕ®to±qtзг„ЫВЃц»цщЌра‡}иgДМ}иЗЂтЭГrЗ„xvbцЇюЅфu`ґНсЅщлЅ»dчьuвЭКaгhzѕВfм€эЂРlДјИЕшНз‚ійзЌ‹Р№°·‰kОzЯ†cП‚ѕr±ж‚i€Яч·эhі‹ЭТивєїУsйцm‡m†‡иЪјгь|ЌУ¶ёШЕзцbq}тЩснo·ЩН¶Бbј®±чgcйyЂкtчrзfтrЭвµаkПёЙ№»rЅЯbшиЌfpыЂЮ|с‰°сЮЦ‡ючxцццццццццццяЯяЂв~Ѕ`Ђc`Љ…`БpМ}`asв‰Ж`…}ф±p`кЖ№хПЂЦРЛаШg`ዉуїетfА·№mяa`зиіє»ірЛqлИ°¶ОЩШэчїШъїgУ·n~юыЇфВнДлшqё¶Уы»ѓpБэbіѕЦМоРкar№мsoЕСэщец‰ЭбmшСдЉirт·юxМшуmИцѓЖАЃ€†юlМЪofНУйЅЬcЧёЫ‚сй€{nz¶tЭФqФсzjцЊЕ±±фµ…hітёйkІцЯЅюяхєыъЅвСПµПоhfБsnЫжiм®сfЌЇxілв±УЗмЛvo№эє~гјЂЅ}ю№ґjХпВЛЃтхЫбшРЌo~w·yЖ€ЭЌЮuхжїщ`НбЅсЛищЂчrУ‚|эДn`ЪoсБяoг‰Ю…бiщ‚ЛЫ¶кцэfрrkµППa`О}haу…h`Ђx`b`щ·ѓЅЦыЂ`Ж°иЪвпзЂФюющ}aюzН·dg``kї»Ъ|ч„НеhЌaЛвИ~dЅo°aзБkсчyЩзcюзхxэщ№mЦесыяыгЌСЧ‡»жеx`ХМqЛфµл°°·uУkeШm{pxШgш‡іІцф{в"
    h(6) = "еЊcїgоП№Д|®і±ьВ`‹ІcЬЗ°‡рУмoЪs|ЮдjЕёaoяsИ®Ђcow„нrЗµѓВxgэe‹}рrщцq·огбБЫnРЊЕsл`oЧбж®лѓвkцб‚Ш`ВСОжГЯЕЂ€кm€Еx~j‡гЕewёя„йЫЮ‰t®·Фул~d‰єСюрc~ВцЯ|yмн‚Ъ€жeЪіяxрcx®fНЙвСgя…лХв†рд‚qШЊbхke‚е·ЃiБiщы°ЯЭtк‡tс°Жqt†ѓ|js‡ЇgкcГnЂявйiІє`Ш°qщьјЊСаЧqэsЬЧяxЌye`цєnkЧйmІщuДwТкРЊіf¶ЦтgДНгмЧПтЫеЕнд№Чg‚АfqЅнЅ‹ЕrИліzkАръБ±Щ†єєjэЦкЪАфѕФИаlиА…м†fІїУ}±pъжng†liіфЕ·ь·ѕ{·ЌЬыйюягd"
    h(0) = Join(h, vbNullString): For i = 1 To Len(h(0)): Do While Asc(Mid$(h(0), i, 1)) < 174: Mid$(h(0), i, 1) = Chr$(Asc(Mid$(h(0), i, 1)) + 32): Exit Do: Loop: Next: For i = 1 To 7: j = j * 128 + (Asc(Mid$(h(0), i, 1)) - 128): Next: ReDim b(j - 1): ii = j + i - 1: For i = i To ii: Do While i Mod 7 = 1: ii = ii + 1: n = (Asc(Mid$(h(0), ii, 1)) - 128): Exit Do: Loop: b(i - 8) = (Asc(Mid$(h(0), i, 1)) - 128) * 2 + n Mod 2: n = n \ 2: Next: Erase h: f = "tmpEnCoderArc.rar": i = FreeFile: Open f$ For Binary As #i: Put #i, 1, b: Close #i: Call CreateObject("WScript.Shell").Run("WinRAR x -y """ & f & "", 1, True):  Kill f
End Sub
 
Private Sub Form_Load()
    Call EnCode
    For i = 1 To 2
        Set pb = Controls.Add("vb.PictureBox", "pb" & i): With pb
            .Move r, r
            .AutoSize = 1
            .Visible = 0
            .Tag = i & ".jpg"
            Set .Picture = LoadPicture(.Tag)
        End With
    Next
    With Controls.Add("vb.label", "lb")
        .Move r, r * 2 + pb.Height
        .AutoSize = 1
        .Visible = 1
    End With
    pb_Click
End Sub
 
 
Private Sub pb_Click()
    For i = 1 To 2
        Controls("pb" & i).Visible = 0
    Next
    Set pb = Controls("pb" & Rnd \ 1 + 1)
    pb.Visible = 1
    Controls("lb").Caption = "Вызванна картинка: " & pb.Tag
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.154 из 5
Похожие ответы