C# 如何显示form界面的特定部分?

塔克茜丝 2020-01-01 11:21:33
情况是这样:
制作了一个全屏幕的界面,上面有个可以将文件拖拽入获取文件名的textbox控件。
但是因为全屏幕,其他文件夹挡住了。
就想把整个UI界面缩小,然后只在小窗口中显示出刚才那个textbox控件的位置,如下图演示的。
小的那个是我手动调的,把form属性autoscalemode 改为none,autoscroll改为true,就可以手动调到小图这样。
现在问题是,怎么让程序来自动实现到这个样子?
谢谢
...全文
601 22 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_46171687 2020-01-10
  • 打赏
  • 举报
回复
先用系统打开在,关闭
塔克茜丝 2020-01-09
  • 打赏
  • 举报
回复
谢谢各位,有所了解,知道了很多。
xiaoxiangqing 2020-01-08
  • 打赏
  • 举报
回复
其它区域可以用一个层隐藏起来
wanghui0380 2020-01-07
  • 打赏
  • 举报
回复
   private void button5_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Test");
            if (this.groupBox1.Parent.Name == "temp")
            {
                ((Form)this.groupBox1.Parent).Close();
                this.Show();
            }


        }

        private void button6_Click(object sender, EventArgs e)
        {
            var old = this.groupBox1.Bounds;
            Form form = new Form();
            form.Name = "temp";
            this.groupBox1.Bounds = new Rectangle(8, 0, this.groupBox1.Width, this.groupBox1.Height);
            form.Controls.Add(this.groupBox1);
            form.Width = this.groupBox1.Width+30;
            form.Height = this.groupBox1.Height+50;
            this.Hide();
            form.ShowDialog();
            this.groupBox1.Bounds = old;
            this.Controls.Add(this.groupBox1);

        }
塔克茜丝 2020-01-07
  • 打赏
  • 举报
回复
引用 17 楼 datafansbj 的回复:
[quote=引用 14 楼 qq_38833921 的回复:]
[quote=引用 13 楼 datafansbj 的回复:]
private void Form1_Resize(object sender, EventArgs e)
{
this.ScrollControlIntoView(groupBox1);
}

谢谢,这个事件我如何触发呢?另外我想在用一个button来触发,如何进行?
纯小白,望不吝赐教啊[/quote]

这个是窗体大小改变事件的代码,当你调整窗口大小的时候发生。
如果要使用按钮触发,放一个按钮,在其 Click 事件中执行这段代码就行了。
建议你先学基础,不要钻牛角。[/quote]
试过了,this.ScrollControlIntoView(groupBox1);是执行不了的。
当你调整窗口大小的时候发生。---去改变整个界面的大小么?点了好像没反应。
datafansbj 2020-01-07
  • 打赏
  • 举报
回复
引用 14 楼 qq_38833921 的回复:
[quote=引用 13 楼 datafansbj 的回复:]
private void Form1_Resize(object sender, EventArgs e)
{
this.ScrollControlIntoView(groupBox1);
}

谢谢,这个事件我如何触发呢?另外我想在用一个button来触发,如何进行?
纯小白,望不吝赐教啊[/quote]

这个是窗体大小改变事件的代码,当你调整窗口大小的时候发生。
如果要使用按钮触发,放一个按钮,在其 Click 事件中执行这段代码就行了。
建议你先学基础,不要钻牛角。
luochenghua0 2020-01-07
  • 打赏
  • 举报
回复
来学习一下,长知识了。
wanghui0380 2020-01-07
  • 打赏
  • 举报
回复
为啥要滚动条,为啥要缩小。 问题可以变,思想可以变。前路不通可以换路走 把自己隐藏,重新show一个UI就好。
塔克茜丝 2020-01-07
  • 打赏
  • 举报
回复
引用 13 楼 datafansbj 的回复:
private void Form1_Resize(object sender, EventArgs e)
{
this.ScrollControlIntoView(groupBox1);
}

谢谢,这个事件我如何触发呢?另外我想在用一个button来触发,如何进行?
纯小白,望不吝赐教啊
datafansbj 2020-01-06
  • 打赏
  • 举报
回复
你的想法比较奇特,做 UI 应该不是这种思路。
你只是想将全屏窗口向下拖,当露出后面的窗口时以便拖拽文件,那么为什么要把“显示区域”放在靠下位置?放在靠上就行了。
或在窗体大小改变时,设置滚动条的值,把它露出来。
datafansbj 2020-01-06
  • 打赏
  • 举报
回复
private void Form1_Resize(object sender, EventArgs e)
{
this.ScrollControlIntoView(groupBox1);
}
塔克茜丝 2020-01-06
  • 打赏
  • 举报
回复
引用 11 楼 datafansbj 的回复:
你的想法比较奇特,做 UI 应该不是这种思路。
你只是想将全屏窗口向下拖,当露出后面的窗口时以便拖拽文件,那么为什么要把“显示区域”放在靠下位置?放在靠上就行了。
或在窗体大小改变时,设置滚动条的值,把它露出来。

设置滚动条的值~ 这个应该是我想要的,怎么设置呢?求个扫盲贴,谢谢。
塔克茜丝 2020-01-03
  • 打赏
  • 举报
回复
引用 7 楼 datafansbj 的回复:
了解一下 Anchor 属性。

不是很懂,请再详细些,谢谢。
塔克茜丝 2020-01-03
  • 打赏
  • 举报
回复
引用 9 楼 datafansbj 的回复:
自己实践一下就明白了,操作很简单的。桌面控件都有 Anchor 属性的。


这个好像和我的需求不是很搭啊。我并不想改变控件位置,只是想在form1缩小后,露出来的是这个空间部分的form界面就好了。
不知道怎么和anchor或者dock联系起来。
datafansbj 2020-01-03
  • 打赏
  • 举报
回复
自己实践一下就明白了,操作很简单的。桌面控件都有 Anchor 属性的。
datafansbj 2020-01-02
  • 打赏
  • 举报
回复
了解一下 Anchor 属性。
塔克茜丝 2020-01-02
  • 打赏
  • 举报
回复
我的这个图是演示,其实软件,这个作用是一个文件拖入窗口,把文件拖入这个textbox后,可以获得拖入文件的文件名并保存
在使用中发现,由于已经是全屏,用鼠标拖面板向上是拖不动的,只能往下拖,露出其他windows窗口,但是往下拖,这个textbox就看不到了,还是用不了。
本来是实现了一个弹出窗口,但是如果能实现刚才那个效果,是最简单的,也不用子到父传值啥的了。
那么是否有这个实现方法?如果没有,我也就死心了。
W_少年 2020-01-02
  • 打赏
  • 举报
回复
引用 3 楼 qq_38833921 的回复:
[quote=引用 2 楼 W_少年 的回复:]
套在ScrollView里,指定位置,窗口大小,效果就和图二一样了

能再具体点么?没看懂,新手啊[/quote]
假设你要显示绿色的视图坐标X,Y,宽高,W,H;
有个控件,ScrollView,滚动视图,可以再里面放置其他控件,放置好后,在取你那个绿色的控件左上角的坐标X,Y,让窗口缩小宽度等于W,高度等于H,然后模拟滚动ScrollView 位置至X,Y;

牧歌ing 2020-01-02
  • 打赏
  • 举报
回复
既然是全屏就拖到全屏的任何一个地方就显示好了
塔克茜丝 2020-01-01
  • 打赏
  • 举报
回复
引用 2 楼 W_少年 的回复:
套在ScrollView里,指定位置,窗口大小,效果就和图二一样了

能再具体点么?没看懂,新手啊
加载更多回复(2)

111,088

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧