그냥 빠른 질문입니다. 우선, 함수 포인터의 의미가 올바른지 확인하도록하겠습니다. C#의 경우, 함수 포인터는 기본적으로 그냥 이벤트 함수입니다. 맞습니까?GC가 함수 포인터를 사용하여 객체를 수집합니까?
초, 다음 코드를 고려하십시오 m_Form 클래스가 인스턴스화
//The form to be animated.
private Form m_Form;
Heres는 어떻게 유형의 개인 변수
public FormAnimator(Form form)
{
this.m_Form = form;
this.m_Form.Load += new EventHandler(m_Form_Load);
this.m_Form.VisibleChanged += new EventHandler(m_Form_VisibleChanged);
this.m_Form.Closing += new CancelEventHandler(m_Form_Closing);
}
: 그래서
public partial class toastform : Form
{
public toastform(skImage ic) : this() {
//Attach this form to the Formanimator.
//The FormAnimator now has a reference to this toastform.
//When the load() of this form is invoked, the Form animator intercepts it and displays the form.
this.m_Animator = new FormAnimator(this, FormAnimator.AnimationMethod.Slide, FormAnimator.AnimationDirection.Up, 400);
}
때 새로운 toastform (something = new toastform();)을 만들고 show()를 호출하십시오 메서드는 양식 애니메이터의 메서드 여야합니다 (SHOULD). 이제, 토스트 폼이 닫힐 때 FormAnimator 객체가 어떻게 파괴되는지 확인하려면 어떻게해야합니까? 만약 누군가가 무슨 일이 일어나고 있는지 전체 이야기를 설명해 주시면 감사하겠습니다. 내 말은 ..
감사
toastform 클래스를 어떻게 ... 그, 그리고 내가 등등 형태 애니메이터 "차단"는 taostform의 이벤트를 말할 때 formanimator 클래스 같은 객체에 둘 점은, 내 용어의 권리tldr : Formanimator 클래스의 이벤트 핸들러를 수동으로 제거해야하는지 알고 싶습니다.
1 주 참조에 대한 다음은
은 약한 참조에 매우 매우 좋은 기사입니다. 지금 내 대답을 타이핑 해 뒀어 .--). –죄송합니다.이 처분은 FormAnimator 클래스 또는 실제 양식에 있어야합니까? – masfenix
formanimator 클래스에있는 경우 "처분"해야하거나 Formanimator의 소멸자에 넣을 수 있습니까? – masfenix