문제

컴팩트 한 프레임 워크에서 멋진 형태 효과를 만들 수 있는지 알고 싶습니다.

내 계획은 사용자가 기본 형식의 이미지를 선택할 때 새로운 형태로 열리면 현재 작동한다는 것입니다. 내가 지금하고 싶은 것은 약 4 픽셀 높이에서 화면의 가장자리 (왼쪽 또는 오른쪽)를로드하기 위해 FullSize 사진이 포함 된 양식을 만드는 것입니다. 양식이 화면에 완전히 있으면 화면의 최대치에 도달 할 때까지 높이가 확장됩니다.

닫기에서는 양식을 처리하기 전에 높이를 4 픽셀 높이로 다시 낮추고 가장자리에서 슬라이드를 다시 떨어 뜨리고 싶습니다.

양식을 인스턴스화 할 때 아래 코드를 시도했으며 dp.top 속성은 dp.width == 240에 관계없이 항상 0이었습니다.

DisplayPicture dp = new DisplayPicture(ImageUrl);
dp.WindowState = FormWindowState.Normal;
dp.Left = dp.Width * -1;
dp.Top = (dp.Height / 2) - 2;
dp.Height = 4;
dp.ShowDialog();       

DisplayPicture 양식 내에서도 양식을 시도하고 움직일 수있는 다음과 같은 것도 있지만 최고 속성을 설정하지 않으므로이 코드는 아직 중요하지 않습니다.

void t_Tick(object sender, EventArgs e)
{
    if (this.Left < 0)
        this.Left += 5;

    if (this.Left > -1)
    {
        this.Left = 0;
        if (this.Height < pictureBox1.ClientRectangle.Height)
        {
            this.Height += 4;
            this.Top -= 2;
        }

        if ((this.Left == 0) && (this.Top == 0))
            t.Enabled = false;

    }
}

모든 도움이 크게 감사드립니다!

티아

한 번의 기회

도움이 되었습니까?

해결책

이렇게하려면 이미지가로드 된 PictureBox 컨트롤로 시작하십시오. 높이를 4로, 너비를 형태의 너비로 설정하고 (매우 중요) 시즈 모드 사진 상자의 신축성.

다음으로, 맨 위로 설정하여 -Width로 왼쪽으로 설정하여 화면에서 그림 상자를 배치하십시오. 100 (또는 무엇이든) 간격으로 양식에 타이머 컨트롤을 넣고 이벤트가 왼쪽 속성이 0이 될 때까지 그림 상자를 점차 오른쪽으로 이동하도록하십시오.이 지점에 도달하면 타이머 이벤트가 높이를 점차적으로 증가시킵니다. 형태의 높이에 도달합니다.

당신은 아마도 깜박임을 다루어야 할 것입니다. 그러나 이것은 당신이 시작해야합니다.

업데이트 : 질문을 조금 더 가까이 읽었으며 실제로 양식 자체를 오프 스크린에서 전체 화면으로 이동하고 싶다는 것을 깨달았습니다. 전체 양식 (상단의 제목 표시 줄 포함)이 이러한 방식으로 애니메이션을 원한다면 불가능하지만 양식의 Formborderstyle을 설정하여이를 수행 할 수 있습니다 (또는 Compact 프레임 워크에서 Borderstyle이라고 생각합니다). 아무도. Borderstyle이 없음으로 설정되면 높이, 너비, 상단 및 왼쪽 속성을 변경하면 실제로 양식에 눈에 띄는 효과가 있습니다 (양식은 경계가 없음). 이러한 속성은 Windows Mobile에서 완전히 무시됩니다, 아마도 코드가 아무것도하지 않은 것처럼 보일 것입니다.

업데이트 2 : 여기 있습니다 내 대답 비슷한 WM 질문으로 애니메이션 창을 실제 창처럼 보이게하는 데 도움이 될 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top