CHECKBOX EM PICTUREBOX OU DATAGRIDVIEW

ARCADYUM 19/03/2017 14:23:17
#472521
Pessoal,
Estou precisando de uma orientação quanto a uma ideia. Estou querendo desenvolver uma tela onde possa demonstrar todos os nomes e ícones de programas .exe ou .msi que estejam em um diretório. Pensei em usar um datagridview com a coluna Tipo Image, porém, essa coluna também teria que ter um checkbox para que pudesse ser [Ô]checado[Ô]. O Checkbox não poderia ser em outra coluna e sim na própria coluna onde será demonstrado o ícone. Pensei no Datagridview, mas, nada impede de ser outro controle. Vejo esse tipo de recurso em Captchas mais modernos. Procurei com picturebox, mas, nenhum resultado satisfatório.
Desde já agradeço pela atenção.
DS2T 19/03/2017 17:57:52
#472523
Citação:

O Checkbox não poderia ser em outra coluna e sim na própria coluna onde será demonstrado o ícone.



Se não rola criar uma coluninha do tipo CheckBox separado, você terá que criar um tipo de DataGridViewCell personalizado. Coincidentemente, fiz isso essa semana, para inserir uma coluna do tipo [Ô]Progress Bar[Ô]. No meu caso, era apenas uma coluna somente leitura, no seu caso, você vai precisar ter o checkbox pro usuário marcar também. Vai dar mais trabalho porque você vai ter que fazer uma sobrecarga no evento de clique da célula, por exemplo.

Eu não sei exatamente o efeito que você quer alcançar com isso, poderia colocar um exemplo?
Porque se for uma lista com checkbox na frente, não vejo motivo para não ter uma coluna de largura pequena pro checkbox.

Os controles Windows Form são bem limitados, para coisas personalizadas assim, você tem a opção de herdar do controle e fazer sobrecarga pra redesenhar como desenha... ou criar um usercontrol do zero.
Na minha humilde opinião, é algo que o Windows Form ainda deixa a desenhar. Enquanto as plataformas Web e Mobile estão investindo em diferentes controles de interação, o Windows Form continua no mais do mesmo. Ou você faz seus controles ou pega de um terceiro, tipo os componentes do DevExpress...
KERPLUNK 19/03/2017 19:49:14
#472524
Crie uma classe com os dados que você quer sobre os arquivos(Nome, tamanho, data de criação, etc.). Nessa mesma classe crie uma propriedade do tipo boolean que vai representar o seu checkbox. Crie um método(ou construtor) na sua classe que retorne uma List<T> da sua classe, passando como parâmetro a pasta que deseja verificar. Então simplesmente execute esse método ou construtor de classe para obter uma List<T> dos arquivos dela e passe esse List<T> como DataSource do seu DataGridView. Você pode inclusive, criar um evento ao mudar o valor da variável boolean, que ocorrerá sempre que o usuário marcar ou desmarcar o ítem e nesse evento, faça o que quiser que seja feito ao marcar ou desmarcar o ítem.
ARCADYUM 28/03/2017 00:55:35
#472827
Gostaria de agradecer pela atenção. Resolvi fazer utilizando CheckBox em tempo de execução e com a aparência de um buton. Ficou interressante.
Tópico encerrado , respostas não são mais permitidas