VB获取对象名称

时间:2015-06-02 15:48:45

标签: vb.net object properties

我正在研究Visual Basic项目,但遇到了一个问题。 我创建了81个标签(手工,没有数组),我需要给他们代码。 我想要识别标签的属性,例如Name和Text;但我不想更改每个代码 我可以执行以下操作:this.Name来获取当前标签的名称吗?甚至我的老师也不知道如何解决这个问题。 我尝试了Me.name但是返回了表单的名称......我找不到任何文档。 请尽快帮助,Sagi。

3 个答案:

答案 0 :(得分:3)

如果要在单击标签时获取标签的名称,可以使用Click事件的sender参数。例如,这里有一个处理两个标签的Click事件的方法。

Sub Label_Click(sender As Object, e As EventArgs) Handles Label1.Click, Label2.Click
    Dim thisLabel As Label = CType(sender, Label)
    Dim myName As String = thisLabel.Name 
End Sub

答案 1 :(得分:1)

每当您遇到控件问题时,都应首先在MSDN上查找。如果你查找标签,你可以看到Name确实是一个属性。看这里: Link

This.name将返回表单控件。您必须找到标签的个人控件并以此方式获取名称。喜欢," Label1.Name"。

答案 2 :(得分:1)

您可以遍历表单上的控件以获取其属性。像这样:

Handles

修改

Blackwood的上述答案就是你所需要的。您只需要为每个标签使用AddHandler子句或使用Private Sub wireUpLabelEvents() 'Get each label on the form and wire up the event handler For Each lbl In Me.Controls.OfType(Of Label)() AddHandler lbl.Click, AddressOf Label_Click Next End Sub Private Sub Label_Click(sender As Object, e As EventArgs) Dim thisLabel As Label = CType(sender, Label) Dim myName As String = thisLabel.Name End Sub 和循环,使用与上面相似的代码:

@Configuration
@EnableWebSecurity
@PropertySource("classpath:security.properties")
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    private static final Logger log =  Logger.getLogger(SecurityConfig.class);

    @Autowired
    private Environment env;

    @Autowired
    private MyUserDetailService myUserDetailService;

    @Autowired
    private CustomLdapAuthenticationProvider customLdapAuthenticationProvider;

    @Autowired
    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
                           auth.authenticationProvider(customLdapAuthenticationProvider).userDetailsService(myUserDetailService);

        log.debug(auth);

    }

    @Bean
    @Override
    public AuthenticationManager authenticationManager() {
        List<AuthenticationProvider> authenticationProviders = new ArrayList<>();

        authenticationProviders.add(customLdapAuthenticationProvider);

        AuthenticationManager am = new  ProviderManager(authenticationProviders);
        return am;
    }
    @Override
    public void configure(WebSecurity web) throws Exception {

        web.ignoring().antMatchers("/static/**");
        log.debug(web);
    }

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests()
                .antMatchers("/static/**").permitAll()
                .antMatchers("/secure/**").hasRole("USER")
                .anyRequest().authenticated()
                .and()
                .formLogin()
                .loginPage("/login")                
                .defaultSuccessUrl("/secure/hello")
                .failureUrl("/loginfailed")
                .permitAll()
                .and() 
                .sessionManagement()
                .maximumSessions(1)
                .expiredUrl("/login")
                .and()
                .and().logout()
                .permitAll()
                .logoutRequestMatcher(new AntPathRequestMatcher("/logout"))
                .deleteCookies("JESSIONID")
                .invalidateHttpSession(true)
                .and()
                .csrf()
                .and() 
                .portMapper().http(8080).mapsTo(8443)
                .http(80).mapsTo(443)
                .and();
         log.debug(http);

    }  
}